首页 > 解决方案 > 无法让 PyInstaller 查看已安装软件包的模块

问题描述

我一直遇到这个问题:我在 PyCharm 中安装了一个包,它工作正常。但后来我运行 PyInstaller 来获取我的可分发版本,我收到有关缺少模块的错误消息。

这是一个简单的测试用例:它使用 PySimpleGui 弹出一个简单的窗口。请注意,if语句后面的内容未使用 - 这里只是对 PIL 模块的 Image 方法的未调用调用。此代码在 PyCharm 中运行良好,但 PyInstaller 生成的可执行文件显示: 

回溯(最近一次调用):文件“viewtop.py”,第 41 行,在 ModuleNotFoundError 中:没有名为“PIL”的模块 [7881] 无法执行脚本 viewtop

下面是一个测试用例代码:

import io
from PIL import Image
import PySimpleGUI as sg
event, values = sg.Window('Test Window',
                  [[sg.T('Hello World')],[sg.B('OK') ]]).read(close=True)
x = 0
if x >0:
    layout = [[sg.T('Hello Again, World')]]
    image = Image.open(values["-FILE-"])
    image.thumbnail((400, 400))
    bio = io.BytesIO()
    image.save(bio, format="PNG")
    window = sg.Window("Image Viewer", layout)
    window["-IMAGE-"].update(data=bio.getvalue())

我尝试了--hidden-importPyInstaller 的选项无济于事。此外,无论我在 PyCharm venv 中安装 Pillow(提供 PIL 模块),还是通过 pip3 安装,或使用 Conda,我都会得到相同的结果。想法?

标签: pythonpycharmpyinstallerpysimplegui

解决方案


推荐阅读