python - 直接在Windows中导入错误: no module named PIL when opening the . py文件

标签 python tkinter python-imaging-library py2exe

这是一个相当复杂的问题。

我的 Python 脚本使用模块 PIL,其加载方式为:

from PIL import ImageTk, Image

该脚本在 IDE 中运行良好,当我从 cmd 启动它时也运行良好:

python script.py

但是当我尝试双击打开它时,它给出了导入错误:没有名为 PIL 的模块。我在 Anaconda 中使用 python 2.7。我卸载了 PIL 并安装了 Pillow,但问题仍然存在。我将 PIL 目录复制到工作目录,但随后出现 ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。我还需要将其编译为可执行文件,但打开可执行文件又出现另一个错误:包“Tcl”的版本冲突:有 8.5.18,需要 8.5.15。

当我省略脚本中使用 PIL 的部分时,它编译得很好。有没有办法鱼与熊掌兼得 - 在 tkinter 界面中使用图像并使用 py2exe 进行编译?

最佳答案

事实证明,双击确实使用了不同的解释器。双击在 Program Files (x86) 中使用了 32 位 python 版本,而通过命令行输入 python script.py 打开它则使用了 Anaconda 安装目录中的 64 位 python 版本。显然我是从 python.org 安装了 python,然后忘记了它并安装了 Anaconda。更改文件关联解决了问题,谢谢你们的帮助。

关于python - 直接在Windows中导入错误: no module named PIL when opening the . py文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787195/

相关文章:

python - 在 PySimpleGUI 中按下 Enter 到 InputText 时如何引发事件

python - 从用户那里获取数据并将其保存在数据库中

python - 如何在 Mac 上将 PIL 安装到 Python 3.5?

python - 类型错误 : Cannot handle this data type - Wrong mode for `PIL.Image.fromarray` ?

Heroku 上的 Python、PIL 和 JPEG

python - 索引未显示在数据框中 - 需要显示相应的索引,然后使用 Pandas 根据阈值删除列

python - 带有 CUDA 的 Pytorch 在使用 pack_padded_sequence 时抛出 RuntimeError

python - 运行时错误 : main thread is not in main loop

python - 提取字典键并将其分配给python中的变量

python - 为什么不能绑定(bind)到 0.0.0.0 :80 and 192. 168.1.1 :80 simultaneously?