Python项目打包发布方法

 

      目前python打包工具有多个,目前比较好用的为pyinstaller,该工具可以支持在window和linux下使用。

      在windows下,大小为几十K的源文件打包成exe文件,可能为几十兆,原因是把程序所引用的库文件也一起打包在一起。

      如下以windows系统为例,分2个步骤,演示如何使用pyinstaller打包。

      第1步:安装pyinstaller

      安装pyinstaller之前首先必须有pip,如果还没有安装,请用度娘搜索“python安装pip”,资源丰富,在此不再介绍,使用pip安装pyinstaller的命令如下:

pip install pyinstaller

      命令执行的截图如下,直至安装完毕,我仅截取了前面部分打印信息。

      第2步:打包exe文件

      如果是打包一个py文件,可以使用“pyinstaller -F 待打包文件名”进行打包,在命令执行完毕后,会在dist目录下生成一个“待打包文件名.exe”的文件。如果不使用“-F”参数,则会在dist目录下生成一个“待打包文件名”的文件夹,该文件夹下包含“待打包文件.exe”,但是要整个文件夹在一起才能正常工作,因为这个文件夹的功能相当于使用“-F”时的一个“待打包文件.exe”。

      使用加F参数打包成一个exe文件的操作截图如下:

       使用“F”强制打包参数,有时会导致软件功能运行不正常,仅限于小的范例使用,如果项目有多个py文件,则建议别再使用“F”参数。

      如果项目有多个文件,打包时可以把多个文件列出来,中间用空格隔开即可。

      如果需要修改默认图标为指定图标,则使用“-i  图标文件名”来实现。

      如下为使用多个py文件和图标的打包截图。

      pyinstaller的参数见下表,大家可以在需要时参考。

参数参数全称参数说明

-F

–onefile

打包成单个可执行文件,如果你的代码都写在一个.py文件,则可以使用,如果是多个.py文件,建议不要使用。

-D

–onedir

打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,该方式代码较易于维护。

-K–tk在部署时包含 TCL/TK。
-a–ascii不包含编码.在支持Unicode的python版本上默认包含所有的编码。
-d–debug

产生debug版本的可执行文件

-w–windowed,–noconsole使用Windows子系统执行.当程序启动的时候不会打开命令行(仅对Windows有效)
-c–nowindowed,–console

使用控制台子系统执行(默认)(只对Windows有效)

pyinstaller -c  xxxx.py

pyinstaller xxxx.py --console

-s–strip

可执行文件和共享库将run through strip。

注意Cygwin的strip可能使普通的win32 Dll无法使用

-X–upx如果有UPX安装(执行Configure.py时检测),则会压缩执行文件(Windows系统中的DLL也会)
-o DIR–out=DIR指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下。
-p DIR–path=DIR

设置导入路径(和使用PYTHONPATH效果相似)。

可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源

-i <FILE.ICO>–icon=<FILE.ICO>将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标  pyinstaller -i  ico路径 xxxxx.py
–i <FILE.EXE, N>–icon=<FILE.EXE, N>

将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)

-v FILE–version=FILE将verfile作为可执行文件的版本资源(只对Windows系统有效)
-n NAME–name=NAME

可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如果你喜欢这篇文章,别忘了点赞和评论哦!

将整个 Python 项目打包可以方便地将项目移植到其他计算机上,同时也能更好地管理项目文件。以下是一些常用的打包工具和方法: 1. 使用 PyInstaller:PyInstaller 可以将 Python 项目打包成可执行文件,支持 Windows、Linux 和 macOS 等多个平台。使用 PyInstaller 打包项目时,会将 Python 解释器和依赖打包到一个文件中,因此可以在没有 Python 环境的计算机上运行。安装 PyInstaller 后,可以使用命令行执行以下命令进行打包: ``` pyinstaller --onefile your_script.py ``` 其中,`your_script.py` 为你的 Python 脚本文件名。执行完毕后,会在当前目录下生成一个可执行文件。 2. 使用 setuptools:setuptools 是 Python 的一个打包工具,可以将 Python 项目打包成安装包,支持 Windows、Linux 和 macOS 等多个平台。使用 setuptools 打包项目时,会将项目源代码和依赖打包到一个压缩文件中,用户在安装时需要先安装 Python 环境。安装 setuptools 后,可以编写一个 `setup.py` 文件,然后执行以下命令进行打包: ``` python setup.py sdist ``` 执行完毕后,会在当前目录下生成一个压缩文件,包含项目源代码、依赖和安装脚本等文件。 3. 使用 PyPI:PyPI 是 Python 的软件包索引,可以将 Python 项目发布到 PyPI 上,供其他用户下载和安装。使用 PyPI 打包项目时,需要编写一个 `setup.py` 文件,然后使用 `twine` 工具上传到 PyPI。具体步骤可以参考 PyPI 的官方文档。 以上是常用的 Python 打包方法,选择适合自己的方法进行打包即可。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值