pyinstaller打包多个py文件仍报错ModuleNotFoundError: No module named 'xxx'


[问题现象]

使用pyinstaller A.py -p b.py -p c.py打包多个文件

或者使用main.spec在Analysis配置好各个文件打包

 

 

打包成功后,运行main.exe仍然报错ModuleNotFoundError: No module named 'xxx'

[问题原因]

 在网上查了好久好久,卡了两天。。。。。众说纷纭,还有说pyinstaller不能识别“from xxx import xxx”的语句的。。。各种被误导。。。。

后来在https://blog.csdn.net/djshichaoren/article/details/79801531

看到

 

经过检查,发现自己的目录下除了main.py,还有其他的一些py文件

于是猜想是pyinstaller在打包的时候,如果main.py的目录下还有一些平级的py的话,pyinstaller就分不清楚谁是主文件入口,谁是导入文件。所以就会出现找不到模块的错误ModuleNotFoundError: No module named 'xxx'

[解决方法]

修改一下目录结构,变成了

把其他py文件都放到目录下,保证项目下只有一个main.py

这样只需要输入pyinstaller main.py 就能打包多个文件,甚至是省去了-p的手动指定操作

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM