我的python腳本已經完成并運行,我想編譯并讓其他用戶從中受益。用戶不需要安裝Pycharm或Visual Studio代碼,比如可執行文件或在命令提示符下運行,然后在本地計算機上執行,或者有方法在Tampermonkey腳本上轉換它嗎?
我如何做到這一點?提前非常感謝!
Googled和Youtubed,但這不是我要找的。
我的python腳本已經完成并運行,我想編譯并讓其他用戶從中受益。用戶不需要安裝Pycharm或Visual Studio代碼,比如可執行文件或在命令提示符下運行,然后在本地計算機上執行,或者有方法在Tampermonkey腳本上轉換它嗎?
我如何做到這一點?提前非常感謝!
Googled和Youtubed,但這不是我要找的。
公眾號:1024技術圈
?? 提供互聯網知識和資訊,分享IT前沿技術,熱門資源,大廠面試題 ??
這個問題可能會被多次回答,但PyInstaller模塊是生成將在Windows上運行的可執行文件和將在macOS上運行的應用程序的好方法。
在PyPI.org上檢查PyInstaller:https://pypi.org/project/pyinstaller/
項目描述PyPIPyPI-Python Version Read文檔(版本)PyPI-下載PyInstaller將一個Python應用程序及其所有依賴項打包到一個包中。用戶可以在不安裝Python解釋器或任何模塊的情況下運行打包的應用程序。
Documentation: https://pyinstaller.org/
Code: https://github.com/pyinstaller/pyinstaller
PyInstaller讀取您編寫的Python腳本。它分析代碼,以發現腳本執行所需的每個其他模塊和庫。然后它收集所有這些文件的副本——包括活動的Python解釋器!–并將它們與腳本一起放在單個文件夾中,或者可以選擇放在單個可執行文件中。
PyInstaller針對Windows、macOS和GNU/Linux進行了測試。然而,這不是一個cross-compiler:要使Windows應用程序在Windows中運行PyInstaller;為了制作GNU/Linux應用程序,您可以在GNU/Linux等環境中運行它。PyInstaller已成功用于AIX、Solaris、FreeBSD和OpenBSD,但作為持續集成測試的一部分,并未對其進行測試。
主要優點適用于任何Python版本3.7-3.11。
完全multi-platform,并使用OS支持加載動態庫,從而確保完全兼容。
正確綁定主要Python包,例如numpy、PyQt5、PySide2、PyQt6、PySide6、wxPython、matplotlib和其他out-of-the-box。
與許多3rd-party包兼容out-of-the-box。(使外部包工作所需的所有技巧都已integrated.)
用于macOS上的代碼簽名。
在Windows上捆綁MS Visual C++DLL。
PyPI上提供安裝PyInstaller。您可以通過pip安裝它:
pip install pyinstaller要求和測試平臺Python:3.7-3.11。請注意,Python 3.10. 0包含一個錯誤,使PyInstaller無法支持它。PyInstaller也不能與Python 3.12的測試版一起使用。
tinyaes 1.0+(僅當使用字節碼加密時)。代替安裝tinyaes,pip安裝pyinstaller〔encryption〕。
Windows(32位/64位):PyInstaller應該可以在Windows 7或更高版本上運行,但我們只正式支持Windows 8+。
支持在不使用虛擬環境的情況下從Windows商店安裝Python需要PyInstaller 4.4或更高版本。
請注意,arm64上的Windows尚不受支持。如果您有這樣的設備,并希望幫助我們添加arm64支持,請在我們的問題跟蹤器上告知我們。
Linux:GNU基于libc的體系結構發行版x86_64、aarch64、i686、ppc64le、s390x。
基于musl libc的體系結構發行版x86_64,aarch64。
ldd:控制臺應用程序,用于打印每個程序或共享庫所需的共享庫。這通常可以在distribution-package glibc或libc-bin中找到。
objdump:顯示對象文件信息的控制臺應用程序。這通常可以在distribution-package binutils中找到。
objcopy:用于復制和翻譯對象文件的控制臺應用程序。這通常也可以在distribution-package binutils中找到。
armv5-armv 7上的Raspberry Pi用戶應該添加piwheels作為額外的索引url,然后像往常一樣安裝pyinstaller。
macOS (x86_6 4或arm64):macOS 10.1 5(加泰羅尼亞)或更高版本。
支持構建universal2應用程序,前提是您安裝的Python和所有依賴項都是編譯的universal2。
用法基本用法非常簡單,只需在主腳本上運行即可:
pyinstaller /path/to/yourscript.py有關詳細信息,請參閱手冊。
未經測試的平臺已提供以下平臺,歡迎對這些平臺進行任何反饋或增強。
FreeBSD ldd
Solaris ldd
objdump
AIX AIX 6.1或更高版本。PyInstaller無法與靜態鏈接的Python庫一起工作。
ldd
上面未列出的任何其他libc實現/體系結構組合上的Linux。
在使用任何貢獻的平臺之前,您需要構建PyInstaller引導加載程序。如果您已經安裝了適當的C編譯器(通常是gcc或clang)和zlib的開發頭,當您pip安裝pyinstaller時,這將自動發生。
支持官方調試指南:https://pyinstaller.org/en/v5.6.2/when-things-go-wrong.html
各種用戶提供的幫助主題:https://github.com/pyinstaller/pyinstaller/wiki
基于Web的問答論壇:https://github.com/pyinstaller/pyinstaller/discussions
基于電子郵件的問答論壇:https://groups.google.com/g/pyinstaller
此版本中的更改您可以在手冊的更改日志部分找到此版本中更改的詳細列表。