如何手动将 PIL 模块添加到 pyinstaller exe?

How to manually add PIL module to pyinstaller exe?

我正在使用 pyinstaller 创建一个独立的 exe 文件,但是当我尝试 运行 它时出现 'modulenotfound' 错误。它找不到 PIL 模块,即使它与我的所有其他模块位于同一 'site-packages' 文件夹中。我如何告诉它 PIL 模块在哪里?

我在使用 pyinstaller 时在我的 cmd 行中尝试了以下标志,其中 none 个有效:

--hidden-import=Pillow
--hidden-import='PIL'
--hidden-import='Pillow'

我的脚本使用了关于 PIL 模块的以下代码行:

    from PIL import Image, ImageTk

在脚本中一切正常,只有当我使用 pyinstaller 时才会遇到问题。

我找到了一个解决方案:我必须在 PyCharm 终端中安装 pyinstaller,然后我还必须在 PyCharm 终端中 运行 pyinstaller 使用

pyinstaller --onefile -w "foo.py"

我之前运行在 PyCharm 之外的我的文件目录中使用 cmd,运行在 运行 中使用 pyinstaller,但是 运行在 [=15] 中使用 pyinstaller =] 有效。

我刚刚从驱动器中的Python文件夹中复制了PIL的库文件夹,并将其移动到与.py文件相同的文件夹中,然后我运行 带有行 --hidden-import=PIL 的 cmd 并且它可以正常工作,只需记住将可执行文件放在您在代码行中放置的同一目录中,如果它不在同一目录中,则可能不会 运行 。

对谁有帮助 我在尝试使用 Pyinstaller 来使用 pymssql 时遇到了很多问题,我终于做对了,所以在这里发帖可能会对某人有所帮助 使用 pip install pymssql

安装 pymssql 后

在 pyintaller 中使用此参数将其包含在内

--onefile --paths=.\venv\ --hidden-import='pymssql' --hidden-import='uuid' --collect-all='pymssql' --collect-all='uuid'