国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用PyInstaller將Python程序文件轉換為可執行程序文件

2019-11-25 16:39:12
字體:
來源:轉載
供稿:網友

Windows下采用PyInstall將py文件轉換成exe可執行文件
好不容易寫完的py文件,想做成exe文件,最開始選擇用py2exe,結果生成的exe遇到兩個問題,
1. py程序里print 的信息,cmd中執行tool后并沒有顯示在屏幕上;
2. 調用dll接口,執行py文件時是阻塞等待的,結果cmd中執行exe時,tool很快先返回了,接口還在運行,很詭異
一時找不到解決的辦法,無奈棄用了,在網上找了pyinstall,試了一下,感覺功能更強大些。。。
安裝PyInstaller之前需確認首先安裝了pywin32
下載地址:http://nchc.dl.sourceforge.net/project/pywin32/pywin32/Build%20218/pywin32-218.win32-py2.7.exe
 
一、PyInstaller安裝
1.下載地址:http://www.pyinstaller.org/wiki
2.最新版本:PyInstaller 2.0
3.直接“解壓縮”之后即可使用,解壓到您想讓他在的路徑即可
 
二、PyInstaller配置
1.事先寫好py程序
2.在命令行執行:

Python Makespec.py --console --onefile NotePad/notepad.py

報錯:

Configfile is missing or unreadable. Please run Configure.py before building

3.在命令行執行:

Configure.py

報錯:

Python 2.6+ on Windows support needs pywin32,Please install http://sourceforge.net/projects/pywin32/

4.安裝最新版本的 pywin32-217.win32-py2.7.exe,下載地址:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20217/
 
三、PyInstaller使用
PyInstaller的使用相對簡單,cmd下進入解壓出來的目錄,執行如下命令:
python pyinstaller.py [opts] yourprogram.py

四、主要選項包括:
-F, -onefile 打包成一個exe文件
-D, -onedir 創建一個目錄,包含exe文件,但會依賴很多文件(默認選項)
-c, -console, -nowindowed 使用控制臺,無界面(默認)
-w, -windowed, -noconsole 使用窗口,無控制臺

五、注意事項
在轉換之前要確保py程序可以正常通過;
如果轉換過程中出現什么錯誤,用搜索引擎搜索解決一下。


Linux下安裝pyinstaller用于將py文件打包生成一個可執行文件
一、安裝使用流程

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

2. 官網上下載pyinstaller,當前的最新版本是2.1
(1) 網址 http://www.pyinstaller.org/

3.解包進入源碼目錄
(1)

tar -zxvf pyinstaller_2.1.tar.gz

(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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南阳市| 卢龙县| 台北市| 乌兰浩特市| 桂林市| 曲松县| 五莲县| 焦作市| 蓝山县| 达孜县| 兰西县| 九龙坡区| 普宁市| 祥云县| 武平县| 佛教| 喀什市| 那坡县| 怀宁县| 金塔县| 塔河县| 武乡县| 丰都县| 新民市| 洛隆县| 定州市| 汕尾市| 酒泉市| 思南县| 定日县| 富蕴县| 民丰县| 尖扎县| 剑阁县| 从江县| 霍山县| 保山市| 仁寿县| 咸阳市| 梅州市| 申扎县|