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

首頁 > 編程 > Python > 正文

Python打包方法Pyinstaller的使用

2020-01-04 14:24:37
字體:
來源:轉載
供稿:網友

Python是一個腳本語言,被解釋器解釋執行。它的發布方式:

  • .py文件:對于開源項目或者源碼沒那么重要的,直接提供源碼,需要使用者自行安裝Python并且安裝依賴的各種庫。(Python官方的各種安裝包就是這樣做的)
  • .pyc文件:有些公司或個人因為機密或者各種原因,不愿意源碼被運行者看到,可以使用pyc文件發布,pyc文件是Python解釋器可以識別的二進制碼,故發布后也是跨平臺的,需要使用者安裝相應版本的Python和依賴庫。
  • 可執行文件:對于非碼農用戶或者一些小白用戶,你讓他裝個Python同時還要折騰一堆依賴庫,那簡直是個災難。對于此類用戶,最簡單的方式就是提供一個可執行文件,只需要把用法告訴Ta即可。比較麻煩的是需要針對不同平臺需要打包不同的可執行文件(Windows,Linux,Mac,...)。

本文主要就是介紹最后一種方式,.py和.pyc都比較簡單,Python本身就可以搞定。將Python腳本打包成可執行文件有多種方式,本文重點介紹PyInstaller,其它僅作比較和參考。

Python版本:Python3.5.2

一、安裝Pyinstaller

1、安裝pywin32

下載安裝文件:查找到跟自己適用的python版本及window系統版本匹配的pywin32,下載后安裝

使用pip命令安裝:pip install pywin32

2、安裝Pyinstaller

下載安裝文件安裝:官網

使用pip命令安裝:pip install PyInstaller

二、使用Pyinstaller

1、使用下載安裝的方式安裝的Pyinstaller打包方式

將需要打包的文件放在解壓得到的Pyinstaller文件夾中,打開cmd窗口,把路徑切換到當前路徑打開命令提示行,輸入以下內容(最后的是文件名):

python pyinstaller.py -F myfile.py

2、使用pip方式安裝的Pyinstaller打包方式

打開cmd窗口,把路徑切換到文件所在路徑(文件隨便放在哪里都行)打開命令提示行,輸入以下內容(最后的是文件名):

pyinstaller -F myfile.py

3、輸入參數的含義

-F 表示生成單個可執行文件

-w 表示去掉控制臺窗口,這在GUI界面時非常有用。不過如果是命令行程序的話那就把這個選項刪除吧!

-p 表示你自己自定義需要加載的類路徑,一般情況下用不到

-i 表示可執行文件的圖標

三、注意事項

文件中使用了第三方庫的打包方式

在打包之前務必找到第三方庫的包,把包復制到到跟myfile.py同目錄下,然后再使用以上2種方式打包,否則會打包失敗或者即使打包成功,程序也會閃退。

下面演示一下使用了第三方庫的打包方式:

找到第三方庫的包,如使用了requests,可以使用查找的方式,找到這個包在哪里,然后把它復制到myfile.py同目錄下

Python,打包,Pyinstaller

把包文件復制到myfile.py目錄下

Python,打包,Pyinstaller

給程序換圖標的方法

輸入命令中添加一個-i tubiao.ico(圖標的相對路徑)。如圖:

Python,打包,Pyinstaller

四、exe文件生成

如果程序打包過程沒有報錯,則會生成3個文件夾(有時候是2個),其中名為dist的文件夾中會有一個myfile.exe文件,運行一下,如果沒有問題就打包成功,可以把這個exe文件單獨拿出去用,其他的生成的文件夾可以刪掉了。

Python,打包,Pyinstaller

其他打包工具

distribute

功能類似setuptools. 安裝后會有easy_install. 支持Python2和Python3. 
官方: https://pypi.python.org/pypi/distribute/0.7.3 
已經于2013年7月5日的0.7.3版后停止開發。

distutils2

功能類似setuptools. 
官方:https://pypi.python.org/pypi/Distutils2/1.0a4 
已經于2012年3月13日的1.0a4版后開始停止開發。 
PyPI上的原文: keep using setuptools and pip for now, don't use distutils2.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青河县| 祁阳县| 温州市| 牙克石市| 彝良县| 德令哈市| 阿克陶县| 吉隆县| 仁化县| 三河市| 北海市| 石景山区| 开江县| 手游| 舒兰市| 丽水市| 武宁县| 光泽县| 江津市| 宁津县| 大邑县| 宁陵县| 焦作市| 巴里| 长垣县| 芦溪县| 沿河| 吉安市| 峨眉山市| 邯郸市| 吉林市| 武乡县| 辰溪县| 邵东县| 新竹市| 永清县| 杨浦区| 沙坪坝区| 罗田县| 双鸭山市| 宜兰市|