【Python】pyinstaller完整使用教程

Python代码可通过pyinstaller模块转换为exe文件,常用参数包括-F(单个可执行文件)、-w(无控制台窗口)、-p(自定义类路径)等。打包时注意体积和依赖,建议使用虚拟环境。在Windows系统中,尤其是Win7,需考虑Python版本兼容性。若项目含多文件夹和dll文件,需正确引用并使用--add-data参数添加依赖。
摘要由CSDN通过智能技术生成

  python代码想要像C语言一样编译得到exe文件可能要稍微麻烦一点,不过也还好,python中有一个第三方包pyinstaller可以较为方便地将py文件转换成exe文件。使用时直接在控制台输入pyinstaller <filename.py>即可,当然,一般会加上一些参数,常用的参数如下所示。

  • -F: 生成单个可执行文件
  • -w: 去掉控制台窗口
  • -c –console, –nowindowed: 使用控制台,无界面(默认)
  • -p: 自定义需要加载的类路径
  • -i: 可执行文件的图标,其后面可以加上图片的路径
  • -D –onedir: 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)

这些参数可以直接加在命令的后面即可。

  打包程序有一点需要注意,那就是如果电脑上安装的包非常多,那么最后打包的执行程序体积也就越大,所以建议使用虚拟环境,具体操作可以查看这篇文章

  此外,通过这个模块打包的执行程序只能适用于win10,如果要在win7上运行,需要使用python3.8及以下的python版本。【参考链接

  如果项目中包含多个文件夹,且外面的文件需要import里面的文件,在使用时需要以文件夹名.文件名的方式。而如果文件夹里面的文件也有相互引用的话,也要以文件夹名.文件名这样的方式,而不是直接用相对路径。而且不需要使用sys.path.append()来添加子文件夹路径。不过里面的调用外面的目前还没研究明白,这种情况也比较少见。

  如果项目中调用了C语言编译生成的dll文件,那么在导出成执行程序时,一定要加上dll文件,这里是使用参数--add-data,要注意这后面的参数,以分号分隔,前面为需要添加的对象,后面是添加到的位置,二者要用引号,否则分号会被识别为命令的分隔!

在这里插入图片描述

  举个例子:某个项目结构如下所示:

|-- main.py
|-- dlls
|   |-- a.dll
|   |-- a1.dll
|   |-- dll.py
|   |-- other
`-------|-- b.dll

那么在main.py和dll.py中引用a.dll应该都以dlls/a.dll这样的路径来引用,b.dll都以dlls/other/b.dll这样的方式引用,即都以最外层文件夹作为参考。然后在导出时,就添加参数 --add-data "dlls/*;." --add-data "dlls/other/b.dll;." 没错,这里的DEST都是当前路径.

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录无知岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值