Pycharm中用pyinstaller打包的坑

1、初尝失败

我在pycharm终端下使用pyinstller打包时,报错“With the default recursion limit (1000), the recursion error occurs at about 115 nested imported, with limit 2000 at about 240, with limit 5000 at about 660."。如下图:

于是笔者从网上找到数篇文章大多是说要在**.spec文件中添加如下代码:

import sys
sys.setrecursionlimit(2000)

按上述过程修改后重新在终端使用如下命令进行打包:

pyinstaller main.spec  #main.py是准备的主入口程序

经过多次尝试要么错误依旧,要么虽然可以打包成功,但运行时又出现一大堆错误提示,说明打包仍然是失败的。

2、探询究竟

无意间,我在一次重新打包过程中发现如下提示:

发现其中打包的是conda 环境(\envs\python310)而非项目环境(envs\jxdd),我就考虑是不是因为打包的环境与项目环境不一致才造成了打包失败。于是我在conda prompt中使用conda activate jxdd命令激活我的项目环境为当前环境,在pycharm终端中重新打包,但仍然打包的是conda 环境。

通过分析发现我的pycharm 设置中的终端Shell路径为conda prompt所在路径,我将其修改为cmd.exe所在路径,获取方法为:在系统命令行内 敲入:where cmd.exe

C:\Users\ll>where cmd.exe
C:\Windows\System32\cmd.exe

用返回的路径,修改终端shell的路径:

此时,在pycharm终端中进入的即为当前项目的环境了。

3、大功告成

如下图,再次使用pyinstaller 对项目打包,环境与项目环境一致,打包成功,项目也可以正常运行。打包时因为不使用conda基础包,项目最终也不大,打包时也很快就完成了。

这里,打包时要注意环境是否一致这个”坑“。

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Pycharm中使用pyinstaller打包exe文件的步骤如下: 1. 首先,推荐使用国内镜像源下载pyinstaller,以提高下载速度。可以使用以下命令进行安装:pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple \[1\]。 2. 然后,需要切换到要打包的.py文件所在的目录。可以在Pycharm或者cmd命令框中执行以下命令:pyinstaller -F '文件名'.py \[1\]。 3. 如果在下载pyinstaller时遇到报错信息,可能是因为pip版本较旧。可以尝试使用以下命令进行pip升级:python -m pip install --upgrade pip \[2\]。 4. 如果你使用的是Pycharm,可以按照以下步骤进行操作:首先点击Pycharm左上角的File,然后选择Settings。在Settings窗口中,选择Project Interpreter。接下来,点击图中的第4步的“+”号,然后在搜索框中检索pyinstaller。选中pyinstaller并点击安装按钮进行安装 \[3\]。 这样,你就可以在Pycharm中使用pyinstaller打包exe文件了。希望对你有帮助! #### 引用[.reference_title] - *1* [Pycharm使用pyinstallerpython程序打包为exe文件(单个python文件)](https://blog.csdn.net/m0_48620901/article/details/129593049)[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^v91^control_2,239^v12^insert_chatgpt"}} ] [.reference_item] - *2* [【详细】python打包exe文件,pycharm+pyinstaller打包成功](https://blog.csdn.net/qq_36076233/article/details/122960071)[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^v91^control_2,239^v12^insert_chatgpt"}} ] [.reference_item] - *3* [pycharm内如何打包py项目为.exe可执行文件](https://blog.csdn.net/weixin_48071279/article/details/128258044)[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^v91^control_2,239^v12^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值