Linux下安裝pyinstaller用於將py文件打包生成一個可執行文件

據說pyinstaller多平臺支持的比較好,考慮在linux(redhat 6 32-bit)上裝個pyinstall,
python

不過真的是遇到太多問題了。。。下面是安裝和使用流程:linux


安裝使用流程spa


1. 首先給系統裝個easy_install, 若是裝了的能夠跳過這步
到pypi官方網址 https://pypi.python.org/pypi/setuptools 去download最新版本

2. 官網上下載pyinstaller,當前的最新版本是2.1
源碼

(1) 網址 http://www.pyinstaller.org/it


3.解包進入源碼目錄 io

(1)tar -zxvf pyinstaller_2.1.tar.gztest

(2)cd pyinstaller-2.1 運行 python setup.py install

4. 拷貝py文件
將需打包的py文件如test.py 拷貝到當前目錄

5. 生成可執行文件
cd到pyinstaller目錄, 執行  python pyinstaller.py test.py

可能遇到的問題

1. 用戶權限
直接在root用戶下運行pyinstaller會報錯 「cannot run pyinstaller as user root"...
因此需新增另一個用戶,並給用戶對pyinstaller所在的目錄及全部父目錄添加讀寫權限,避免運行後報‘mkdir’ permission denied...

2. 找不到python lib動態庫
su切換到新增用戶後,
pyinstaller報錯找不到python動態庫
raise IOError("Python library not found!")
IOError: Python library not

執行python --version查看當前版本,並查找/usr/local/lib 下有沒有對應版本的libpython*.*.so文件,
若是有則跳過這步,若是沒有則須要從新安裝python,在python安裝配置中必定要加上--enable-shared參數就能夠生成對應動態連接庫,如:
#./configure --enable-shared --prefix=/usr/local
#make
#make install
我環境中更新過python版本,致使/usr/lib下不是最新版本的庫文件,須要將新版本拷貝到對應的/usr/lib目錄下,注意有兩個文件:
#cp libpython*.so /usr/lib/
#ln -s /usr/lib/libpython*.so.1.0 /usr/lib/libpython*.so打包

相關文章
相關標籤/搜索