【问题的根本解决思路】pycharm可以运行但是pyinstaller 打包后运行exe程序出现的“ModuleNotFindError“错误

前段时间用pycharm运行可以正常运行,但是pyinstaller打包成exe文件后发现总是提示

no module named 'objprint'

 为此找了网上找了很多材料,发现都没法解决。可以汇总如下:

一类是常见的打包时的路径可能有问题,需要指定资源包/依赖包获取的路径:

即打包使用的格式为:pyinstaller -F -p <导入的包路径> <你要生成exe文件的名.py>

如:pyinstaller -F -p  d:\programs\python\python38-32\lib\site-packages\   myprogram.py

可以参考文章 解决pyinstaller 打包后运行exe程序出现的"ModuleNotFindError"

另一类是安装资源包/依赖包

用pycharm打开工程,菜单->setting->project->project Interpreter,把鼠标点到你想要包含的插件上,隐藏显示的就是所在目录。

安装缺少的moudle资源包/依赖包。

但是以上操作都没有没有解决我的问题。

通过我排查总结,发现最终的解决办法!!

办法就是自己的疏忽,马虎造成的,所以下面的几句话是关键,请务必看进去:

上述的问题关键是你运行环境调用资源包/依赖包路径和你生成exe文件时调用资源包/依赖包路径不一致!

因此无论你怎么操作前两个方法你都很难找到问题,因为你所认为你的调用资源包/依赖包路径路径本身就是错误的,所以你在错误的路径下找包和调整都是没有用的,因为生成exe文件调用资源包/依赖包路径并不是这个路径。

因此问题就很简单了,要把你pycharm运行时的调用资源包/依赖包路径和生成exe文件调用资源包/依赖包路径置为一致就可以了。

比如我的之前的

pycharm调用资源包/依赖包路径 是E盘下的一个文件夹

生成exe文件调用资源包/依赖包路径 是D盘下的一个文件夹

所以要改成一样的 

 改成一致后,你会发现你运行是和你生成exe文件执行是报错是一样的错误,这时候把需要的包再此路径安装后(用pycharm打开工程,菜单->setting->project->project Interpreter,安装缺少的moudle资源包/依赖包。),解决所有包的问题后,再次运行发现问题解决。这时候再生成exe文件,发现就可以正常执行了。

至此,上述问题得到根本解决。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值