python執行文件
1. python怎麼生成可執行文件
Python是一個腳本語言,被解釋器解釋執行。它的發布方式:
.py文件:對於開源項目或者源碼沒那麼重要的,直接提供源碼,需要使用者自行安裝Python並且安裝依賴的各種庫。(Python官方的各種安裝包就是這樣做的)
.pyc文件:有些公司或個人因為機密或者各種原因,不願意源碼被運行者看到,可以使用pyc文件發布,pyc文件是Python解釋器可以識別的二進制碼,故發布後也是跨平台的,需要使用者安裝相應版本的Python和依賴庫。
可執行文件:對於非碼農用戶或者一些小白用戶,你讓他裝個Python同時還要折騰一堆依賴庫,那簡直是個災難。對於此類用戶,最簡單的方式就是提供一個可執行文件,只需要把用法告訴Ta即可。比較麻煩的是需要針對不同平台需要打包不同的可執行文件(Windows,linux,Mac,...)。
- pip install pyinstaller
- python setup.py install
- pyinstaller --version
pyinstaller: 打包可執行文件的主要命令,詳細用法下面會介紹。
pyi-archive_viewer: 查看可執行包裡面的文件列表。
pyi-bindepend: 查看可執行文件依賴的動態庫(.so或.dll文件)
pyi-...: 等等。
- pyinstaller [options] script [script ...] | specfile
- pyinstaller mycript.py
- pyinstaller -F mycript.py
- pyi-makespec options script [script ...]
- pyinstaller specfile pyi-build specfile
本文主要就是介紹最後一種方式,.py和.pyc都比較簡單,Python本身就可以搞定。將Python腳本打包成可執行文件有多種方式,本文重點介紹PyInstaller,其它僅作比較和參考。
Freezing Your Code
各種打包工具的對比如下(來自文章Freezing Your Code):
Solution
Windows
Linux
OS X
Python 3
License
One-file mode
Zipfile import
Eggs
pkg_resources support
bbFreeze yes yes yes no MIT no yes yes yes
py2exe yes no no yes MIT yes yes no no
pyInstaller yes yes yes no GPL yes no yes no
cx_Freeze yes yes yes yes PSF no yes yes no
py2app no no yes yes MIT no yes yes yes
PS.其中pyInstaller和cx_Freeze都是不錯的,stackoverflow上也有人建議用cx_Freeze,說是更便捷些。pkg_resources新版的pyInstaller貌似是支持的。
安裝PyInstaller
對於那些網路比較穩定,能夠流暢使用pip源地址的用戶,直接下面的命令就可以搞定:
通常我們會下載源碼包,然後進入包目錄,執行下面的命令(需要安裝setuptools):
安裝完後,檢查安裝成功與否:
安裝成功後,就可以使用下面的命令了:
使用PyInstaller
pyinstaller的語法:
最簡單的用法,在和myscript.py同目錄下執行命令:
然後會看到新增加了兩個目錄build和dist,dist下面的文件就是可以發布的可執行文件,對於上面的命令你會發現dist目錄下面有一堆文件,各種都動態庫文件和myscrip可執行文件。有時這樣感覺比較麻煩,需要打包dist下面的所有東西才能發布,萬一丟掉一個動態庫就無法運行了,好在pyInstaller支持單文件模式,只需要執行:
你會發現dist下面只有一個可執行文件,這個單文件就可以發布了,可以運行在你正在使用的操作系統類似的系統的下面。
當然,pyinstaller還有各種選項,有通用選項,如-d選項用於debug,了解pyInstaller執行的過程;還有一些針對不同平台的選項,具體用法可以訪問PyInstaller官方WIKI。
在執行pyInstaller命令的時候,會在和腳本相同目錄下,生成一個.spec文件,該文件會告訴pyinstaller如何處理你的所有腳本,同時包含了命令選項。一般我們不用去理會這個文件,若需要打包數據文件,或者給打包的二進制增加一些Python的運行時選項時...一些高級打包選項時,需要手動編輯.spec文件。可以使用:
創建一個.spec文件,對於手動編輯的.spec文件,我們可以使用下面任意一條命令:
PyInstaller的原理簡介
PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和你的腳本依賴的庫。在Linux操作系統下,它主要用的binutil工具包裡面的ldd和objmp命令。
PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然後去查找,復制,把所有相關的腳本收集起來,包括Python解析器,然後把這些文件放在一個目錄下,或者打包進一個可執行文件裡面。
可以直接發布輸出的整個文件夾裡面的文件,或者生成的可執行文件。你只需要告訴用戶,你的應用App是自我包含的,不需要安裝其他包,或某個版本的Python,就可以直接運行了。
需要注意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運行,就必須針對該平台進行打包。
2. python生成可執行文件
pyinstaller [主文件] -p [其他文件1] -p [其他文件2]
--hidden-import [自建模塊1]
--hidden-import [自建模塊2]
# 以上為一整條命令
你在那個命令裡面加上-p Ui_serialPort
3. python執行程序有幾種
1. 准備代碼test.py
msg = input("please input: ")
print("output: ", msg)
2. 打開命令行,切換到test.py所在目錄。
1)輸入:python test.py
2)直接輸入:.\test.py
3)直接雙擊test.py執行
輸入input,按下enter後,命令窗口會直接關閉。這是由於python程序執行完後退出所致,將代碼添加一行。
msg = input("please input: ")
print("output: ", msg)
input()
4)輸入python,在python解釋器中直接輸入python命令。
執行:print("hello")
4. python 如何運行文件
python運行文件的方法:首先按下【win+r】鍵,並輸入cmd,打開cmd窗口;然後將【.py】文件拖入cmd窗口或者輸入文件路徑;最後回車即可運行。
【相關學習推薦:python教程】
python運行文件的方法:
方法一:cmd窗口
1、同時按下win+r,輸入cmd,回車,即可打開cmd窗口。
2、將.py文件拖入cmd窗口,或者輸入文件路徑,回車即可運行。
方法二:python自帶IDLE工具
1、在開始菜單找到python文件夾,打開IDLE工具。
2、依次點擊file--open,找到需要的.py文件,打開,按F5執行。
以上就是小編分享的關於python 如何運行文件的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
5. 在python交互模式中怎麼運行py文件
如果你是想知道運行結果的話, 把py文件的代碼全選然後復制, 粘貼到交互模式, 回車;
如果非要在交互模式運行py文件, 可以調用os.system()
importos
os.system("python1.py")#1.py改成你想要運行的py文件的目錄
後面這樣有點畫蛇添足, 可以直接在終端運行python 1.py 命令, 因為os.system()本質上也是調用系統命令==!
6. python py文件中執行另一個py文件
方法一、
import os
os.system("python filename.py")
方法二:
execfile('xx.py'),括弧內為py文件路徑;
註:如果需要傳參數,就用os.system()那種方法;如果還想獲得這個文件的輸出,那就得用os.popen();
(6)python執行文件擴展閱讀:
Python入門命令行怎麼調用.py文件中容易出現的問題
1、如果文件路徑是這樣的:C:Userssd est.py,那麼在命令行狀態下輸入:
C:Userssd> python test.py
2、如果是互動式輸入狀態(>>>←有三個這種折就是互動式狀態),需要輸入:>>> exit()
就會變回命令行狀態。
3、如果文件路徑是:D: est.py ,那麼在命令行狀態下輸入:
C:Userssd> python D: est.py
4、還可以用「cd 文件夾名字」進入新的當年文件夾。
7. python 怎麼執行exe程序
使用os.system函數運行其他程序
os模塊中的system()函數可以方便地運行其他程序或者腳本。其函數原型如下所示。
os.system(command)
其參數含義如下所示。
command 要執行的命令,相當於在Windows的cmd窗口中輸入的命令。如果要向程序或者腳本傳遞參數,可以使用空格分隔程序及多個參數。
以下實例實現通過os.system()函數打開系統的記事本程序。
>>> import os
# 使用os.system()函數打開記事本程序
>>> os.system('notepad')
0 # 關閉記事本後的返回值
# 向記事本傳遞參數,打開python.txt文件
>>> os.system('notepad python.txt')
8. linux 下python怎麼執行文件
要編輯一個new_python的Python程序文件,輸入如下命令:
$pico new_python (注:可以用vim直接編輯.)
輸入如下測試代碼:
其中第一行告訴shell如何執行此文本文件,第二行是一個輸出表達式.
保存文件後,對文件增加可執行屬性
$chmod a+x new_python 然後在命令行運行它.
$./new_python
9. python怎麼運行py文件
1、首先在資源管理器里復制一下py文件存放的路徑,按下windows鍵+r,在運行里輸入cmd,回車打開命令行: