![](/img/trans.png)
[英]PyInstaller: ModuleNotFoundError: No module named 'encodings'
[英]"ModuleNotFoundError: No module named 'arcade'" after using pyinstaller
该脚本运行良好,但使用 pyinstaller 编译时会在运行时引发错误:
Traceback (most recent call last):
File "poples.py", line 3, in <module>
ModuleNotFoundError: No module named 'arcade'
[5316] Failed to execute script 'poples' due to unhandled exception!
Arcade(latest version:2.6.15) is installed on my python folder:
C:\Users\Sarp\AppData\Local\Programs\Python\Python310\Lib\site-packages
as well as installed in my project virtual enviroment folder
到目前为止我做了什么:
重新开始:删除 venv 文件夹并重新创建新的
使用 pycharms requirements.txt,我再次重新安装了所有必需的包
我在我的项目文件夹中运行pyi-makespec
:
pyi-makespec --onefile --windowed --icon=icon.ico poples.py
编辑规范文件行: hiddenimports=[],
to hiddenimports=['arcade'],
and console=False
to console=True
(查看运行时错误)
它看起来像这样:
block_cipher = None a = Analysis( ['poples.py'], pathex=[], binaries=[], datas=[], hiddenimports=['arcade'], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False, ) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE( pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='poples', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon='icon.ico', )
在我的项目文件夹 pyinstaller poples.spec 中运行 pyinstaller
通过命令提示符运行脚本
出错了
已解决:我总是将 pyinstaller.exe 复制到我的项目文件夹中,然后从那里运行。 它总是适用于我的其他项目。但是当我从这个项目文件夹中删除 pyinstaller 并运行它时,它就完成了工作。 但我仍然不知道为什么会这样。 也许街机不喜欢我项目文件夹中的 pyinstaller。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.