python - 无法让 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-import
PyInstaller 的选项无济于事。此外,无论我在 PyCharm venv 中安装 Pillow(提供 PIL 模块),还是通过 pip3 安装,或使用 Conda,我都会得到相同的结果。想法?
解决方案
推荐阅读
- c# - Azure 数据湖:如何获取已处理的文件
- java - 使用spring jpa加载多个数据库
- java - 使用其他场景练习时,Selenium Xpath click 不起作用
- linux - 如何从 jenkins 作业在工作区中创建点文件
- jquery - 仅将代码应用于索引
- android-studio - 无法在 android studio 中设置虚拟设备
- string - 快速全文搜索的数据结构
- python - Kafka-Python 使用自定义登录模块而不是 PlainLoginModule
- java - runtime.getruntime.exec 无法识别可执行文件
- r - R会话崩溃,当gbm()应用于因子响应变量时?请指教