当前位置:   article > 正文

【问题的根本解决思路】pycharm可以运行但是pyinstaller 打包后运行exe程序出现的“ModuleNotFindError“错误_pycharm项目用pyinstaller打包可执行文件,运行后环境报错,但是源程序没有问题,是

pycharm项目用pyinstaller打包可执行文件,运行后环境报错,但是源程序没有问题,是

前段时间用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文件,发现就可以正常执行了。

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/630770
推荐阅读
相关标签
  

闽ICP备14008679号