Pyinstaller使用与常见问题

用途:

Pyinstaller用于打包python程序到二进制文件,win下打包为exe,linux下打包为elf,mac下打包为app。x86与arm架构均支持。

安装:
pip install pyinstaller
使用:
pyinstaller -D main.py -p script1 -p script2 --hidden-import module1 --hidden-import module2

-F:打包为单独一个二进制文件

-D:打包为一个文件夹,文件夹里包括二进制与所需依赖,与-F二选一。-F有时会出现莫名的错误,使用-D可避免,因此推荐-D。

-w:禁止命令行弹出,通打包带gui的程序使用

-p:导入自己编写的、main.py调用的其他脚本

-i:指定二进制图标,后接xxx.icon

--hidden-import:导入自己编写的、main.py调用的模块

注:非自己编写的模块,如import pandas等,不需要写入命令行。

执行结果:

会在当前目录下生成build文件夹dist文件夹xx.spec文件二进制文件在dist文件夹中。

问题:

Pyinstaller不能识别动态导入!如依靠importlib或__import__()导入的包,需要在命令行手动添加!

若报错如下:

ModuleNotFoundError: No module named 'XXX'

则在打包末尾加上--hidden-import XXX,重试:

pyinstaller -D main.py --hidden-import XXX

若报错如下:

importlib_metadata.PackageNotFoundError: No package metadata was found for XXX

则在打包末尾加上--copy-metadata XXX,重试:

pyinstaller -D main.py --copy-metadata XXX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyInstaller是一个用于将Python程序打包成独立可执行文件的工具。它可以将Python代码和所有相关的依赖项打包为一个单独的可执行文件,使得用户可以在没有安装Python解释器的情况下运行Python程序。以下是使用PyInstaller的一些常见用法: 1. 使用`pyinstaller yourscript.py`命令直接将一个Python脚本打包成可执行文件。这将生成一个与脚本同名的可执行文件,可以在其中运行该脚本。 2. 使用`pyinstaller yourappname.spec`命令通过一个名为spec文件的配置文件来定制打包过程。该配置文件可以指定更多的选项,例如应用程序的名称、图标、文件路径等。 3. 使用`--exclude-module=module_name`参数可以排除指定的模块,使其不被打包到可执行文件中。这对于一些不需要的模块或者与特定平台不兼容的模块非常有用。例如,`pyinstaller --exclude-module=tkinter yourscript.py`将排除tkinter模块。 4. 使用`--env MY_VAR=value`参数可以在打包过程中设置环境变量。这对于需要在程序中访问的特定环境变量非常有用。例如,`pyinstaller --env MY_VAR=value yourscript.py`将在程序运行时设置MY_VAR环境变量的值为value。 需要注意的是,PyInstaller支持许多其他参数和选项,可以根据具体需求进行调整。可以通过`pyinstaller --help`命令查看全部参数和详细说明。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pyinstaller简单使用说明](https://blog.csdn.net/weixin_40025666/article/details/131191945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值