『壹』 PyInstaller和py2exe的區別
你好,很高興為你解答
py2exe只支持win32平台,
PyInstaller除了win32平台外還支持linux,Unix平台.
『貳』 Linux下,Python項目包含多個模塊以及圖片包,跪問如何用pyinstaller將其打包在一起
python的模塊,pyinstall會自動編譯為位元組碼然後一起打包。
至於另外的圖片等資源文件,需要自行書寫打包配置文件spec。
先用pyinstaller 的 --onefile 選項自動生成一個spec文件,
然後修改這個spec文件案,如要加入圖片等附屬文件,
要加入到datas中,格式如下:
datas += [("軟體包內的相對路徑/file.name","/實際路徑/file.name","DATA")]
文件列表也可以用Tree生成。Tree("/實際路徑/file.name」, prefix = 「軟體包內的相對路徑」)
下面是一個spec文件的例子
a = Analysis(["/tmp/start.py"],
pathex=["/tmp"],
hiddenimports=[],
hookspath=None,
runtime_hooks=None
dict_tree = Tree("/tmp/pic", prefix = "pic")
a.datas += dict_tree
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name="test",
debug=False,
strip=None,
console=False )
『叄』 pyinstaller 支持python3.6嗎
暫時還不支持,官網目前的版本是3.2.1 只支持到python3.5 pyinstaller3.3 還沒有發行,但是官網源碼里有 https://github.com/pyinstaller/pyinstaller 替換 D:\python\Python36-32\Lib\site-packages\PyInstaller 即可 這樣就支持python3.6了 不過是開發版,可能還不完善!
『肆』 python能開發exe軟體嗎
pyinstaller將Python腳本打包成exe軟體,使在沒有Python環境的機器上運行最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可運行在Windows,Mac和Linux操作系統下。(推薦學習:Python視頻教程)
但它不是跨編譯的,也就是說在Windows下用PyInstaller生成的exe只能運行在Windows下,在Linux下生成的只能運行在Linux下。
pyinstaller在windows下的安裝
使用命令pip install pyinstaller即可 在windows下,pyinstaller需要PyWin32的支持。當用pip安裝pyinstaller時未找到PyWin32,會自動安裝pypiwin32
出現Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安裝成功
使用
定位到pyinstaller.exe所在文件夾(一般再python下的「scripts」文件夾下)(溫馨提示:再cmd下tab鍵又補全功能哦)
再添加上你要轉換的文件地址(兩者之間有空格)
pyinstaller.exe後面如果加上-F就是打包為一個exe文件(文件會比較大),如果不加就會有很多庫文件;加上-w就是打包為沒有cmd窗口的exe,不加運行時就會出現cmd窗口。(加不加憑個人喜好)
-F指令
注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾
-p指令
這個指令後面可以增加pyinstaller搜索模塊的路徑。因為應用打包涉及的模塊很多。這里可以自己添加路徑。不過經過筆者測試,site-packages目錄下都是可以被識別的,不需要再手動添加
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python能開發exe軟體嗎的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
『伍』 如何使用pyqt4打包成能在linux下運行的可執行文件
你先要知道的是,對於:可執行文件:
linux下有對應的ELF類的,就是你生成的,是可以執行的;
windows下:才叫做exe,是對應的別的格式的;需要在Windows平台下去打包,才能生成exe格式的。
所以,對於你的問題的答案是:
的確是無法在linux下生成exe的,是正常的。
如果非要生成,則需要到windows下去折騰,才能生成exe。
詳見:
【記錄】用cx_Freeze把Python代碼打包成單個獨立的exe可執行文件
更建議用,更好用的:PyInstaller,詳見:
【記錄】用PyInstaller把Python代碼打包成單個獨立的exe可執行文件
『陸』 PyInstaller 怎麼在linux安裝和使用
安裝使用流程
1. 首先給系統裝個easy_install, 如果裝了的可以跳過這步
到
2. 下載pyinstaller,當前的最新版本是2.1
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
『柒』 PyInstaller 怎麼在linux安裝和使用
pyInstaller是一款用於將pyhon程序打包成exe文件的工具,pyInstaller不是一個python的包, 只需要把pyInstaller的文件下載下來放到任意為止都可以,也就是說pyInstaller相當於獨立出來專門干打包python的工具,這貨是工具不是庫,下面我來介紹pyInstaller安裝方法
pyInstaller是一款用於將pyhon程序打包成exe文件的工具,pyInstaller不是一個python的包, 只需要把pyInstaller的文件下載下來放到任意為止都可以,也就是說pyInstaller相當於獨立出來專門干打包python的工具,這貨是工具不是庫,也不是包…
1.下載安裝pyinstaller,下載網址:http://www.pyinstaller.org/去下載,然後解壓到任意目錄.(注意:在pyinstaller2.0之前的版本要是移動這個文件夾的話,需要改一些配置,不然pyinstaller會因為你的移動不能使用.這個和後面的配置環境有關.pyinstaller2.0的版本就沒有限制.)
2.編譯配置環境(以解壓到F:盤為例子)
①, pyinstaller-2.0的方法:
打開cmd cd進入解壓後的目錄下的sorce下,即:cd F:pyinstaller-2.0source
運行 python ./waf configure build install
*(可能需要安裝pywin32.下載並安裝即可,重新運行命令即可)
②, pyinstaller-1.5
打開cmd cd進入pyinstaller解壓目錄,cd F:pyinstaller-1.5
運行 python Configure.py
*(可能需要安裝pywin32.下載並安裝即可,重新運行命令即可)
結果提示保存在config.dat文件中。其中config.dat文件存放在pyinstaller的根目錄。
3. 將自己寫的py程序打包exe
①, pyinstaller-2.0的方法:
將自己寫的py文件(HelloWorld.py)拷貝到pyinstaller解壓目錄下,
打開cmd cd進入解壓後的目錄下,即:cd F:pyinstaller-2.0
運行命令 python pyinstaller.py [opts] yourprogram.py
在此處則是運行:python pyinstaller.py [opts] HelloWorld.py
在目錄下會生成一個helloworld的文件夾,裡面存放 HelloWorld.spec文件,;兩個文件夾(dist,buildi),可以運行的exe則放在/dist/yourprogram下
②, pyinstaller-1.5
將自己寫的py文件(HelloWorld.py)拷貝到pyinstaller解壓目錄下,
打開cmd cd進入解壓後的目錄下,即:cd F:pyinstaller-1.5
pyinstaller-1.5和 pyinstaller-2.0 的區別來了。
在 pyinstaller-1.5 中你先需要生成spec文件,然後通過spec文件在生成exe文件,而 pyinstaller-2.0 在執行命令(請看上面)後會同時吧exe和spec文件都生成出來了
所以在 pyinstaller-1.5 你得先生成spec文件:
python Makespec.py [opts] yourprogram.py
運行命令: python Makespec.py [opts] HelloWorld.py
此時在此目錄下生成的 HelloWorld文件夾,文件夾下有一個 HelloWorld.spec文件,將文件在拷貝到目錄(F:pyinstaller-1.5)下
運行命令: python Build.py HelloWorld.spec
4.你會發現按照上面的方法在/yourprogram/dist/yourprogram下除了需要的exe文件,也存在很多dll文件,然後你會開始抱怨作者我坑爹了吧….
哈哈,如果你這么發現了,說明,你已經完成用最基礎的pyinstaller打包了,關於如何pyinstaller請往下看:
不管是pyinstaller-1.5還是pyinstaller-2.0,要想打包成一個文件,或者將文件的圖標修改等等操作,這些都與你在運行命令時有關系,還記得命令是什麼嗎?
pyinstaller-2.0 是:
python pyinstaller.py [opts] yourprogram.py
pyinstaller-1.5 是:
python Makespec.py [opts] yourprogram.py
那些打包成一個文件,或者將文件的圖標修改等等操作都和這個 [opts] 有關系.
下面舉些例子(客官一看便知,以 pyinstaller-2.0為例子,1.5通用):
①, 打包成一個文件:
python pyinstaller.py –onefile yourprogram.py
②,修改exe的圖標(D:BabyWandHsrcfaviconw.ico為圖標的存放路徑):
python pyinstaller.py –onefile –icon=D:BabyWandHsrcfaviconw.ico yourprogram.py
[opts]的一些說明(具體可以看pyinstaller官網http://www.pyinstaller.org/expor … talling-pyinstaller)
『捌』 PyInstaller 怎麼在linux安裝和使用
我記得不用安裝,直接解壓就可以用了。如果你的pyinstall在~/code 裡面,這樣 ~/code/pyinstaller.py 你的文件。如果希望單文件的話,加option.~/code/pyinstaller.py --onefile 你的文件 這樣的。應該是吧,太久沒用了。我記得pyinstall裡面有文檔的,看看就好了