赞
踩
前段时间用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文件,发现就可以正常执行了。
至此,上述问题得到根本解决。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。