控制台错误:
File "C:\Users\semnome\AppData\Local\Programs\Python\Python310\lib\site-packages\PyInstaller\hooks\hook-sqlalchemy.py", line 31, in <module>
dialects = eval(dialects.strip())
File "<string>", line 0
发生这种情况时,我通常用以下方法解决它:
pip install sqlalchemy --upgrade
但是现在它不再起作用了,我该怎么办?
pip 卸载 sqlalchemy > pip 安装 sqlalchemy
解决了问题
我找到了解决方案,当我遇到同样的问题时它对我有用
pyinstaller App.py --noconfirm --onefile --windowed --exclude-module sqlalchemy
当我编译之前使用“auto-py-to-exe”成功编译的应用程序的稍微更新版本时,我遇到了同样的问题。
我在 Win10 上使用“auto-py-to-exe”,在这种情况下,我从 Windows 命令提示符运行应用程序,编译失败并显示
文件“C:\Users\semnome\AppData\Local\Programs\Python\Python310\lib\site-packages\PyInstaller\hooks\hook-sqlalchemy.py”,第 31 行,位于 方言 = eval(方言.strip()) 文件“”,第 0 行
Searching Stack Overflow”揭示了安装程序输出中标记的“卸载”或“卸载/重新安装”软件包的一些建议。就我而言,“sqlalchemy”似乎是罪魁祸首。从安装程序中排除它会导致编译成功,但是......不幸的是生成的可执行文件将无法运行。
最终我发现我犯了一个可能是典型的缺乏经验的 python 编码器错误,我是从“用户顶级目录”中的“Win10”命令提示符运行安装程序,而不是从我的虚拟环境!
当我使用激活的虚拟环境从 VSCode 的终端窗口运行“auto-py-to-exe”时,编译立即成功!
(.venv) PS I:\directory_name> auto-py-to-exe