1、CPython
是Python語言規范的參考實現,能夠優先獲得Python語言的最新、最強的功能,CPython是由C語言編寫而成,不但可以從Python代碼中調用C代碼的函數,還可以直接在Python中使用大量現有的C代碼庫。
2、Brython
Brython可用於在瀏覽器中運行包含了Python 3腳本的Web應用。
3、PyPy Python
雖然第一個推薦的是在Python中使用最廣泛的編譯器,但卻不是最快的,PyPy採用的是即時的編譯概念,在代碼執行前,就直接編譯為機器代碼,因此其執行速度提高了近4倍。
4、Jython或JPython
使用率第二高,Jython最初被稱為JPython,是通過Python語言來實現Java虛擬機的,開發者既可以將現有的Java包和代碼庫,導入自己的Python程序中,還可以在Java程序中嵌入Python腳本。
5、Cython
Cython與CPython不同,更像是一個超集,允許開發者在代碼中結合C和Python,從而生成C語言代碼類型的輸出,以供任何一種C/C++編譯器進行後續編譯。
6、Skulpt
流行的速度非常快,主要目的是提供一種良好的在線式Python編譯器,也可以通過讓Web應用引擎包含Skulpt,以方便開發者編寫出被用於前端的Python腳本。
7、PyJS
是另一款完全用Python去開發Web應用的編譯工具,在後台,PyJS會在使用內置的Ajax框架之前,將Python代碼編譯為JavaScript。
8、WinPython
是Python的"即用型"發行版,也就意味著用戶無需安裝,即可在Windows
PC上運行,作為另一種Python的實現,WinPython編譯器不僅帶來了Python執行環境,而且還包含了諸如:Scipy、Numpy、以及Pandas等各種Python庫。
② 如何編譯Python程序生成.pyc文件
pyc文件就是 py程序編譯後得到的位元組碼文件 (py->pyc),python為了提高運行效率也會進行編譯,有時候編譯出pyc文件後,刪除py文件也不會出錯助於pyc文件的產生,給樓主舉例加入你有一個邏輯文件abcd.py,裡面有很多函數A,B,C,D,這個時候,如果你有一個test腳本去導入了abcd.py,只要你運行test腳本,在adcd.py目錄下就會生成一個abcd.pyc文件,而不管你是否需要調用A,B,C,D函數
③ python在線編譯器哪個
PyCharm
它是由JetBrains打造的一款Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。
④ 如何將自己編寫的.py文件轉換為可執行.exe文件
利用Python寫了一個小腳本想要傳給使用Windows但沒有裝Python的朋友執行,這時候就可以利用將檔案包裝成exe檔案,讓沒有Python的朋友也可以執行。本篇將介紹利用套件「PyInstaller」製作exe檔。
1|0安裝方法
1234
#安裝pyinstallerpip install pyinstaller#安裝依賴pip install pywin32-ctypes
2|0常用參數介紹
pyinstaller -h來查看參數
-F打包成一個exe文件
-i圖標路徑
-w使用視窗,無控制台
-c使用控制台,無視窗
-D創建一個目錄,包含exe以及其他一些依賴性文件
編譯文件時,我們通常使用如下命令:
pyinstaller -F -w -i favo.ico main.py
3|0靜態文件
對於python所依賴的圖片,config.yaml等靜態文件,pyinstall不會自動打包,需要手動在main.py(所需要打包的入口文件)的相同目錄中尋找main.spec,修改datas依賴,才可以自動打包到exe的相同目錄下,然後執行即可
datas是一個數組,每個子項是一個tuple,其中tuple的第一個參數是你要打包的源路徑,第二個參數是打包後的名字
12345678910111213141516
# -*- mode: python -*- block_cipher = None a = Analysis(['ui.py'],pathex=['C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test'],binaries=[],datas=[('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\images','images'),('C:\\Users\\user\\Desktop\\resilio\\toyou\\code\\zeus_board_test\\question.yaml','question.yaml')],hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,cipher=block_cipher,noarchive=False)
然後執行:
pyinstaller -F main.spec
4|0示例
如下圖所示,我們編寫一個輸出helow pyinstaller的Python程序,並利用input()使程序可以暫時停在輸出畫面。
12
print('helow pyinstaller')input('please wait:')
編譯python為exe,編譯過程中會自動安裝相關依賴
pyinstaller -F hello.py
編譯過程中會產生如下輸出:
1234567891011121314
…6942 INFO: checking PY6944 INFO: Building because toc changed6944 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz7559 INFO: Building PYZ(ZlibArchive)C:\Users\user\Desktop\test\build\test\PYZ-00.pyz completed successfully.7568 INFO: checking PKG7569 INFO: Building because toc changed7569 INFO: Building PKG(CArchive)PKG-00.pkg9407 INFO: Building PKG(CArchive)PKG-00.pkg completed successfully.9409 INFO: Bootloader c:\users\user\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe9409 INFO: checking EXE9411 INFO: Building because toc changed9411 INFO: Building EXE from EXE-00.toc9412 INFO: Appending archive to EXE C:\Users\user\Desktop\test\dist\test.exe9455 INFO: Building EXE from EXE-00.toc completed successfully.
通過輸出可以看出pyinstaller進行了如下操作:
會先建立一個hello.spec
建立「build」文件夾
建立log紀錄檔與工作檔案於文件夾build中
建立「dist」文件夾
建立執行檔(.exe)在「dist」文件夾
4|1注意事項
執行檔案可在win8/win10,64位的電腦運行,但win7 x64和其餘所有32位失敗,會提示不兼容,若要能32位與64位皆可運行,就要在Python 32位的環境下編譯PyInstaller打包exe,才能在32位與64位成功。
⑤ pycharm無法編譯
不可以,它是專門用來寫python的,至少它沒有集成C的編譯器及調試器
⑥ python如何編譯生成二進制文件
用py2exe 打包成可以執行文件
⑦ 如何編譯Python使之成為可執行程序
Python是一個強大的工具,可惜不是每個人的計算機裡面都有安裝。當您寫了一個好用的工具。要如何讓那些沒有安裝Python的人使用你的工具呢?
對於這樣一個需要standalone exectuable環境的需求,直到撰寫經驗為止,只看到兩個比較好用且有持續維護的套件。一個是py2exe。另外一個就是本經驗要介紹的PyInstaller。
1
PyInstaller安裝
2
最新版本:PyInstaller 2.0
3
直接「解壓縮」之後即可使用,解壓到您想讓他在的路徑即可
END
PyInstaller配置
1
事先寫好py程序
2
在命令行執行:python Makespec.py --console --onefile NotePad\notepad.py
報錯:Configfile is missing or unreadable. Please run Configure.py before building
3
在命令行執行:Configure.py
報錯:Python 2.6+ on Windows support needs pywin32,Please install http://sourceforge.net/projects/pywin32/
4
安裝最新版本的 pywin32-217.win32-py2.7.exe
END
PyInstaller使用
命令行中運行
目錄切換到PyInstaller的安裝目錄「E:\pyinstaller-1.5\pyinstaller-1.
在PyInstaller的安裝目錄下新建一個文件夾(比如NotePad), 然後將要轉換的py腳本放到文件夾里(notepad.py)
E:\pyinstaller-1.5\pyinstaller-1.5>python Makespec.py --console --onefile NotePad\notepad.py
E:\pyinstaller-1.5\pyinstaller-1.5>python Build.py NotePad\notepad.spec
驗證exeE:\pyinstaller-1.5\pyinstaller-1.5>
E:\pyinstaller-1.5\pyinstaller-1.5\NotePad\dist\notepad.exe 0 0 100(成功)
查看生成的文件,生成的中間文件spec
查看生成的文件,生成的最終文件exe
END
注意事項
在轉換之前要確保py程序可以正常通過
如果轉換過程中出現什麼錯誤,用搜索引擎搜索解決一下
⑧ Python編譯出錯
你的程序是直接從python shell裡面保存的吧?這會混進去很多額外的輸出和提示符的,需要自行整理才行
⑨ Python3如何將py文件編譯為pyd文件
不想裝VS可以使用第三方庫nuitka,同時安裝mingw64
⑩ pyinstaller 支持python3.6嗎
暫時還不支持,官網目前的版本是3.2.1 只支持到python3.5 pyinstaller3.3 還沒有發行,但是官網源碼里有 https://github.com/pyinstaller/pyinstaller 替換 D:\python\Python36-32\Lib\site-packages\PyInstaller 即可 這樣就支持python3.6了 不過是開發版,可能還不完善!