導航:首頁 > 源碼編譯 > py編譯器怎麼運行

py編譯器怎麼運行

發布時間:2024-12-03 07:32:42

python源程序執行的方式

python源程序執行的方式如下:

1、在命令行輸入ipython或ipython3進入互動式shell環境,如果不行的話需要安裝ipython和python鏡像,配置方式:pip3 install ipython -i ctrl+D或者exit 推出ipython ipython的優點:支持自動補全和執行linux命令。

2、在命令行窗口輸入python (官方的shell),在這里可以直接輸入python程序代碼,退出用exit() 或者 ctrl+D。

3、集成開發環境:PyCharm 類似IDEA,推薦教程: 《Python教程》。

編譯執行

所謂編譯執行就是源代碼經過編譯器編譯處理,生成目標機器碼,就是機器能直接運行的二進制代碼,下次運行時無需重新編譯。不過它是針對特定CPU體系的,這些目標代碼只能在特定平台執行。

如果這個程序需要在另外一種 CPU 上面運行,這個代碼就必須重新編譯。它不具備可移植性,但是執行速度快,C、C++這類語言屬於編譯型語言。

㈡ python代碼寫好了怎麼保存

具穗寬判體操作步驟如下。
第一步:打開python編巧早譯器,點擊【file】-【newfile】。第二步:在打開的窗口中輸入代碼,點擊【file】猜改-【save】。第三步:選擇保存的路徑,設置名稱,文件類型設為python文件,點擊【保存】。第四步:選擇保存好的py文件,點擊【run】-【runmole】。第五步:在輸出窗口中即可看到程序的運行結果。Python是一種跨平台的計算機程序設計語言,是ABC語言的替代品,屬於面向對象的動態類型語言,最初被設計用於編寫自動化腳本,隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。

㈢ python怎麼使用cython

1. Cython是什麼?

它是一個用來快速生成Python擴展模塊(extention mole)的工具

語法是Python和c的混血

Cython作為一個Python的編譯器,在科學計算方面很流行,用於提高Python的速度,通過OpenMPI庫還可以進行吧並行計算。

2. Cython安裝(Windows)

我的環境是win7 x64, python27, vs2010

安裝的基礎是有一個c編譯器(這里以vs2010為例)

從http://cython.org下載安裝包,解壓到一目錄,進入該目錄,在cmd命令行中執行

python setup.py install

註:執行過程可能遇到問題:Windows下pip安裝包報錯:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat

解決方案:下載Microsoft Visual C++ Compiler for Python 2.7,點擊直接安裝即可。

3. 例子

例3.1:入門

創建hello.pyx,內容如下

def say_hello():
print "Hello World!"

創建setup.py,內容如下

from distutils.core import setup
from Cython.Build import cythonize
setup(name = 'Hello world app',
ext_moles = cythonize("hello.pyx"))

編譯Cython代碼

step1: 把.pyx文件被Cython便以為.c文件
step2: 把.c文件編譯為可導入的使用模塊.so(Windows下為.pyd)文件

1
2

python setup.py build
python setup.py install

註:可能出現問題:Unable to find vcvarsall.bat

原因:Python 2.7 會搜索 Visual Studio 2008.如果你電腦上沒有這個版本的話就會報錯。

如果裝的是vs2010,那麼在cmd命令行中執行

1

SET VS90COMNTOOLS=%VS100COMNTOOLS%

如果裝的是vs2010,那麼在cmd命令行中執行

1

SET VS90COMNTOOLS=%VS110COMNTOOLS%

執行

1
2
3

>>> import hello
>>> hello.say_hello()
Hello World!例3.2 通過靜態類型提高速度

在Cython中可以通過標記靜態類型來提高速度,凡是標記為靜態類型的部分都會將動態語言類型變為簡單的c代碼,從而提速。

但是如果濫用靜態類型,會降低可讀性,甚至因類型設置不當導致錯誤類型檢查造成速度降低。

例3.2.1 靜態類型變數

Python原生態代碼

compute.pyx

def f(x):
return x ** 2 - x
def integrate_f(a, b, N):
s = 0
dx = (b - a) / N
for i in range(N):
x += f(a + i * dx)
return s * dx

setup.py

from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Hello world app',
ext_moles = cythonize("compute.pyx"),
)

test.py

import compute
import time
starttime = time.clock()
compute.integrate_f(3.2, 6.9, 1000000)
endtime = time.clock()
print "read: %f s" %(endtime - starttime)

執行

1
2
3

python setup.py build
python setup.py install
python test.py

結果

1

read: 0.332332 s

使用靜態變數替換後的代碼

compute2.pyx

def f(double x):
return x ** 2 - x
def integrate_f(double a, double b, int N):
cdef int i
cdef double s, dx
s = 0
dx = (b - a) / N
for i in range(N):
s += f(a + i * dx)
return s * d

setup2.py

from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Hello world app',
ext_moles = cythonize("compute2.pyx"),
)

test2.py

import compute2
import time
starttime = time.clock()
compute2.integrate_f(3.2, 6.9, 1000000)
endtime = time.clock()
print "read: %f s" %(endtime - starttime)

執行

1
2
3

python setup.py build
python setup.py install
python test.py

結果

1

read: 0.109200s

結論

該測試用例,使用靜態類型速度是不使用靜態類型的3倍。

例3.2.2 靜態類型函數

把compute2.pyx中的函數變為

cdef double f(double x):
return x ** 2 - x
def integrate_f(double a, double b, int N):
cdef int i
cdef double s, dx
s = 0
dx = (b - a) / N
for i in range(N):
s += f(a + i * dx)
return s * dx

結果

1

read: 0.084859 s

結論:比例子3.2.1速度又快了

例3.3 調用C函數

cdef extern from "math.h":
double sin(double)
double cos(double)

cpdef double Sin(double x):
return sin(x)

cpdef double Cos(double x):
return cos(x)

cpdef: 對於Python可使用的函數使用(為了使得在以後的Python程序中調用Sin,Cos函數,用cpdef,而不用cdef)
cdef: 對於C可使用的函數使用

請注意,上面的代碼聲明了 math.h 里的函數,提供給 Cython 使用。C編譯器在編譯時將會看到 math.h 的聲明,但 Cython 不會去分析 math.h 和單獨的定義。

㈣ Python敲代碼時怎麼換行,每次一按Enter鍵就直接執行程序了,可是代碼還沒有寫完啊。。。

1、Windows使用win+R鍵進入命令行模式。

閱讀全文

與py編譯器怎麼運行相關的資料

熱點內容
做個程序員先學什麼 瀏覽:799
海馬普力馬更換壓縮機 瀏覽:694
pythonpandasmax 瀏覽:611
python網路爬蟲的基本原理 瀏覽:517
立體書pdf 瀏覽:119
哪裡做app做的多 瀏覽:611
文件怎麼拷貝進文件夾 瀏覽:739
下載的w10還要解壓嗎 瀏覽:12
學生成績管理android 瀏覽:391
hls加密方案drm 瀏覽:848
手機怎樣打開加密照片 瀏覽:542
釘釘發送的文件在哪個文件夾 瀏覽:681
怎麼知道源碼的語言 瀏覽:991
新手學python語言 瀏覽:54
python獲取輸入值 瀏覽:247
命令與征服310修改器 瀏覽:830
地圖app在哪裡找 瀏覽:441
學生綜合管理系統源碼 瀏覽:706
王的命令泰劇第一集 瀏覽:133
自用macd操盤公式源碼 瀏覽:811