一。可執(zhí)行的Python程序
這部分內(nèi)容只對Linux/Unix用戶適用,不過Windows用戶可能也對程序的第一行比較好奇。首先我們需要通過chmod命令,給程序可執(zhí)行的許可,然后運行程序。
$chmoda+xhelloworld.py
$./helloworld.py
HelloWorld
chmod命令用來改變文件的模式,給系統(tǒng)中所有用戶這個源文件的執(zhí)行許可。然后我們可以直接通過指定源文件的位置來執(zhí)行程序。我們使用./來指示程序位于當前目錄。
為了更加有趣一些,你可以把你的文件名改成僅僅helloworld,然后運行./helloworld。這樣,這個程序仍然可以工作,因為系統(tǒng)知道它必須用源文件第一行指定的那個解釋器來運行程序。
只要知道程序的確切位置,你現(xiàn)在就可以運行程序了——但是如果你希望你的程序能夠從各個位置運行呢?那樣的話,你可以把你的程序保存在PATH環(huán)境變量中的目錄之一。每當你運行任何程序,系統(tǒng)會查找列在PATH環(huán)境變量中的各個目錄。然后運行那個程序。你只要簡單地把這個源文件復制到PATH所列目錄之一就可以使你的程序在任何位置都可用了。
$echo$PATH
/opt/mono/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$cphelloworld.py/home/swaroop/bin/helloworld
$helloworld
HelloWorld
我們能夠用echo命令來顯示PATH變量,用$給變量名加前綴以向shell表示我們需要這個變量的值。我們看到/home/swaroop/bin是PATH變量中的目錄之一。swaroop是我的系統(tǒng)中使用的用戶名。通常,在你的系統(tǒng)中也會有一個相似的目錄。你也可以把你選擇的目錄添加到PATH變量中去——這可以通過運行PATH=$PATH:/home/swaroop/mydir完成,其中“/home/swaroop/mydir”是我想要添加到PATH變量中的目錄。
當你想要在任何時間、任何地方運行你的程序的時候,這個方法十分有用。它就好像創(chuàng)造你自己的指令,如同cd或其他Linux終端或DOS提示符命令那樣。
二。用Pyinstaller建立linux下Python的獨立可執(zhí)行文件
以下內(nèi)容假定已安裝好Python2.4/2.5
一、下載并編譯pyinstaller(只需做一次,以后可直接做第二步)
1.下載pyinstaller,現(xiàn)在的版本是1.3
(1)wgethttp://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz
2.解包進入源碼目錄
(1)tarzxvpyinstaller_1.3.tar.gz
(2)cdpyinstaller-1.3/source/linux
3.編譯源代碼
(1)pythonMake.py生成python的.pyc文件
如無錯誤,則出現(xiàn)如下提示(只有一行):
Nowrun"make"tobuildthetargets:../../support/loader/run../../support/loader/run_d
(2)make連接生成linux的.o文件
4.生成編譯配置文件
(1)pythonConfigure.py生成config.dat配置文件
二、編譯獨立運行的python可執(zhí)行文件
1.生成spec文件
pythonpyinstaller-1.3/Makespec.py--onefile--upxlinuxlaptop.py
參數(shù)說明:
--onefile生成單文件
--upx生成壓縮的文件(可減小執(zhí)行文件體積,需先安裝upx軟件包)
2.生成最終的可執(zhí)行文件
pythonpyinstaller-1.3/Build.pylinuxlaptop.spec
執(zhí)行完成后將在當前目錄生成可執(zhí)行的linuxlaptop文件,如有問題歡迎與我交流:linuxlaptop.cn。
原文:http://bbs.chinaunix.net/thread-1328460-1-1.html
============================個人實踐=============================
系統(tǒng):Ubuntu8.0.4
安裝相關(guān)包:apt-getinstalllibc6-devpython-devzlib1g-dev
cdsource/linux
python./Make.py
make
cd../../
pythonConfigure.py
/pyinstaller-1.3/Makespec.py--onedir--icon=img/imac.icomy.py
python/pyinstaller-1.3/Build.pymy.spec
這時會提示pyinstaller-1.3中的幾個包語法錯誤,估計源碼包是在window下調(diào)試產(chǎn)生unix不識別的字符,典型的是換行符。
安裝dos2unix:sudoapt-getinstalltofrodos
dos2unix/pyinstaller-1.3/pyinstaller-1.3/optparse.py......(6個文件左右)
再運行:python/pyinstaller-1.3/Build.pymy.spec
搞定,生成了distmy目錄,里頭有好多.o文件,類似于win下的dll:)
以上內(nèi)容為大家介紹了如何在Linux中運行Python源文件,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。http://m.fengjieshuijing.cn/