使用pyinstaller将具有多个python文件的项目打包为exe(含依赖库)

1、将需要打包有python文件放到一个文件夹,例如下图所示的Demo文件夹,其中ClickEveryDay.py为主文件,telegram.ico为图标文件。

  2、生成主函数对应的spec文件

命令:在Demo文件夹路径下使用:pyi-makespec ClickEveryDay.py,将产生一个ClickEveryDay.spec文件。

3、修改ClickEveryDay.spec文件:加入需要打包的所有python文件,设置以下内容:

    1)将所有需要打包的.py文件写到py_files列表,并将其作为Analysis的第一个参数;

    2)将Demo的绝对路径填入pathex,例如下图中的pathex=["C:\\Users\\shewe\\Desktop\\ClickEveryDay\\demo"],注意,一定是绝对路径。

    3)将需要打包的外部文件“chromedriver.exe”、“telegram.ico”写成一个add_files列表,作为Analysis的datas参数的值。需要说明的是,本项目是一个爬虫项目,需要使用chromedriver.exe浏览器插件,因此需要随项目打包,但并不是所有项目都需要这种外部文件的;telegram.ico为打包后exe文件的图标,建议每个exe都使用一个自定义的图标,否则pyinstaller将自动给一个不太好看的默认图标。

    4)将py文件中import的第三方库填入hiddenimports,本项目中用到了'selenium', 'smtplib', 'email'三个第三方库。

    5)在exe = EXE(......)中增加对icon图标的设置。本项目中设置了icon='telegram.ico'。

 

4、对ClickEveryDay.spec文件进行pyinstaller安装

执行命令:pyinstaller ClickEveryDay.spec

出现以下提示,说明安装成功

此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录ClickEveryDay下的ClickEveryDay.exe。

 

 此时打包成功,可以脱离开发环境单独运行了。 

如果需要更复杂的打包设置,可以参阅:Pyinstaller的Spec文件用法_tangfreeze的博客-CSDN博客_pyinstaller spec文件

 参考文献:

【python第三方库】pyinstaller使用教程及spec资源文件介绍_All_In_gzx_cc的博客-CSDN博客_python spec文件

Pyinstaller的Spec文件用法_tangfreeze的博客-CSDN博客_pyinstaller spec文件

pyinstaller打包为可单独运行的EXE(含依赖文件)_shewei1977的博客-CSDN博客_python程序打包为exe后依赖https://www.jb51.net/article/253660.htm

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以按照以下步骤来使用PyInstaller打包多个文件Python程序,并包指定路径的依赖。 1. 创建一个spec文件,该文件是一个Python脚本,用于指定需要打包的所有文件依赖路径。spec文件的基本结构如下: ```python # -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis(['main.py', 'module1.py', 'module2.py'], pathex=['/path/to/your/app'], binaries=[], datas=[], hiddenimports=['dependency1', 'dependency2'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, exclude_binaries=True, name='myapp', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], upx_include=[], console=True, path=['/path/to/dependency1', '/path/to/dependency2']) ``` 在上面的示例中,我们将三个文件(main.py,module1.py和module2.py)打包到一个名为“myapp”的可执行文件中,并指定了两个依赖(dependency1和dependency2)的路径。 2. 运行PyInstaller命令生成可执行文件。在命令行中输入以下命令: ```bash pyinstaller myapp.spec ``` 这将根据spec文件生成一个可执行文件。 3. 运行可执行文件。在命令行中输入以下命令: ```bash ./myapp ``` 这将启动打包好的Python程序,其中包了指定的多个文件依赖路径。 希望这些步骤可以帮助你打包多个文件Python程序,并包指定路径的依赖

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值