【python打包】Pyinstaller 打包成功,但是运行时缺包而且找不到文件的问题解决。[ModuleNotFoundError][FileNotFoundError]

        前段时间有个项目需要打包成exe,按照网上的教程使用pyinstaller打包,打包过程很成功,但是打包之后会出现ModuleNotFoundError,比如

ModuleNotFoundError: No module named 'PyPDF2'
[PYI-19452:ERROR] Failed to execute script 'report_generation' due to unhandled exception!

        我尝试了能搜索到的一切方法,都没有奏效,包括直接修改.spec文件,修改递归深度,显式声明隐藏依赖等等。

        我是在pycharm的终端中使用的,pycharm默认的创建虚拟环境的工具是venv,在这个环境中打包总是不成功,因此我尝试更换为conda创建虚拟环境,我下载conda后,在conda prompt中创建了一个虚拟环境,并且逐一安装所需要点包,再打包,打包出的文件就没有问题了!

        但是在我的代码中,我使用相对路径调用了一个与程序同文件夹的文件,使用命令行执行exe时却显示文件不存在,这是因为我们的工作文件夹并不是exe文件所在的文件夹,我们只需要cd 到exe当前的文件夹,再执行就不会报错了。

        写的很简单,但是这些问题真的让人很抓狂,如果有新手遇到了和我一样的问题,抓破头皮也搞不定,欢迎评论留言,我看到后会尽己所能努力回答的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值