在将python程序用pyinstaller打包成exe时,虽然控制台显示Build complete! The results are available in XX
但是点开生成的exe,会报错ModuleNotFoundError: No module named 'pandas'
在网上各种搜索解决办法,"-p ***/Lib\site-packages"文件夹
也试了,--hidden-import
也试了,都不行
网上说要让pyinstaller和程序的包在同一个环境下,于是pip list
检查环境,发现cmd环境中pyinstaller和pandas不在一个环境下,于是考虑去Anaconda Prompt里打包:
- 删除之前打包失败的文件
step1:把打包失败生成的 spec 后缀文件删除
step2:把disk里打包失败的exe文件删除
- 进入Anaconda Prompt,执行以下代码:进入python程序所在的环境,进入要打包的文件的目录,打包文件:
conda activate your-env
*(进入你要打包的文件所在的盘),比如e:*
cd E:\path\to\your\directory
pyinstaller --onefile --noconsole -n "你的执行程序名称.exe" yourproject.py
- 等待打包,然后就完成啦!
打开这次打包的可执行文件,发现这次不再报错了,可以成功运行!