pyinstall 打包

PyCharm 的terminal默认是系统的python环境

cd 项目名\venv\Scripts

执行activate

执行

pyinstaller -F -w MainServer.py --additional-hooks-dir hooks

命令参数

-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

--additional-hooks-dir 指定打包的扩展库

在venv\Lib\site-packages\PyInstaller\hooks里新建一个hook-XXXX.py

from PyInstaller.utils.hooks import collect_data_files, collect_submodules

datas = collect_data_files('xxxx')
hiddenimports = collect_submodules('xxxx')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pyinstall是一个用于将Python代码打包成可执行文件的工具,它可以将单个Python文件或者多个Python文件打包为一个独立的可执行文件,方便在没有Python环境的机器上运行。 在使用pyinstall打包多个文件时,可以使用.spec文件来指定需要打包的文件和打包后的配置。.spec文件是一个文本文件,可以使用Python脚本语法编写。 在.spec文件中,需要定义一个名称为`a`的Analysis类实例,以及需要打包Python文件或者模块。可以使用`coll`参数来指定需要打包的文件,格式为`collporters`,其中`coll`是一个列表,每个元素都是文件或者模块的路径。例如: ``` coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, *collporters ) ``` 在collporters列表中,可以指定要打包的文件或者文件夹的路径。例如: ``` collporters = [('path/to/file1', 'path/to/folder1'), ('path/to/file2', 'path/to/folder2')] ``` 上面的例子中,`path/to/file1`和`path/to/file2`分别是要打包的文件路径,`path/to/folder1`和`path/to/folder2`则是打包后存放文件的文件夹路径。 除了指定要打包的文件外,还可以在.spec文件中对打包后的配置进行一些设置。例如: ``` a = Analysis(['your_script.py'], pathex=['your_source_folder'], binaries=[], datas=[('path/to/data', '.')], hiddenimports=['some_module'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None, noarchive=False,) ``` 在上面的例子中,`your_script.py`是要打包Python脚本文件,`your_source_folder`是脚本文件所在的文件夹路径。`('path/to/data', '.')`定义了要打包的数据文件的路径和打包后的存放位置。 通过这样设置.spec文件,可以将多个Python文件打包成一个可执行文件。在命令行中执行`pyinstall your_spec_file.spec`即可使用pyinstall进行打包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值