歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在Linux中運行Python源文件

如何在Linux中運行Python源文件

日期:2017/2/28 16:36:53   编辑:Linux教程

一。可執行的Python程序
這部分內容只對Linux/Unix用戶適用,不過Windows用戶可能也對程序的第一行比較好奇。首先我們需要通過chmod命令,給程序可執行的許可,然後運行 程序。

$ chmod a+x helloworld.py
$ ./helloworld.py
Hello World

chmod命令用來 改變 文件的 模式,給系統中所有用戶這個源文件的執行許可。然後我們可以直接通過指定源文件的位置來執行程序。我們使用./來指示程序位於當前目錄。

為了更加有趣一些,你可以把你的文件名改成僅僅helloworld,然後運行./helloworld。這樣,這個程序仍然可以工作,因為系統知道它必須用源文件第一行指定的那個解釋器來運行程序。

只要知道程序的確切位置,你現在就可以運行程序了——但是如果你希望你的程序能夠從各個位置運行呢?那樣的話,你可以把你的程序保存在PATH環境變量中的目錄之一。每當你運行任何程序,系統會查找列在PATH環境變量中的各個目錄。然後運行那個程序。你只要簡單地把這個源文件復制到PATH所列目錄之一就可以使你的程序在任何位置都可用了。

$ echo $PATH
/opt/mono/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld
$ helloworld
Hello World

我們能夠用echo命令來顯示PATH變量,用$給變量名加前綴以向shell表示我們需要這個變量的值。我們看到/home/swaroop/bin是 PATH變量中的目錄之一。swaroop是我的系統中使用的用戶名。通常,在你的系統中也會有一個相似的目錄。你也可以把你選擇的目錄添加到PATH變量中去——這可以通過運行PATH=$PATH:/home/swaroop/mydir完成,其中“/home/swaroop/mydir”是我想要添加到PATH變量中的目錄。

當你想要在任何時間、任何地方運行你的程序的時候,這個方法十分有用。它就好像創造你自己的指令,如同cd或其他Linux終端或DOS提示符命令那樣。


二。用Pyinstaller建立linux下Python的獨立可執行文件

以下內容假定已安裝好Python 2.4/2.5

一、下載並編譯pyinstaller(只需做一次,以後可直接做第二步)

1.下載pyinstaller,現在的版本是1.3
(1)wget http://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz

2.解包進入源碼目錄
(1)tar zxv pyinstaller_1.3.tar.gz
(2)cd pyinstaller-1.3/source/linux

3.編譯源代碼
(1)python Make.py 生成python的 .pyc文件

如無錯誤,則出現如下提示(只有一行):
Now run "make" to build the targets: ../../support/loader/run ../../support/loader/run_d

(2)make 連接生成linux的 .o 文件

4.生成編譯配置文件
(1)python Configure.py 生成config.dat配置文件


二、編譯獨立運行的python可執行文件

1.生成spec文件
python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py

參數說明:
--onefile 生成單文件
--upx 生成壓縮的文件(可減小執行文件體積,需先安裝upx軟件包)


2.生成最終的可執行文件
python pyinstaller-1.3/Build.py linuxlaptop.spec

執行完成後將在當前目錄生成可執行的linuxlaptop文件。


============================個人實踐=============================
系統:Ubuntu 8.0.4
安裝相關包:apt-get install libc6-dev python-dev zlib1g-dev
cd source/linux
python ./Make.py
make

cd ../../
python Configure.py
/pyinstaller-1.3/Makespec.py --onedir --icon=img/imac.ico my.py
python /pyinstaller-1.3/Build.py my.spec

這時會提示pyinstaller-1.3中的幾個包語法錯誤,估計源碼包是在window下調試產生unix不識別的字符,典型的是換行符。
安裝dos2unix:sudo apt-get install tofrodos
dos2unix /pyinstaller-1.3/pyinstaller-1.3/optparse.py......(6個文件左右)

再運行:python /pyinstaller-1.3/Build.py my.spec
搞定,生成了distmy目錄,裡頭有好多.o文件,類似於win下的dll:)

Copyright © Linux教程網 All Rights Reserved