【问题标题】:PIL Module not being seen没有看到 PIL 模块
【发布时间】:2021-10-26 23:32:40
【问题描述】:

我在 Mac 上使用 VSCode。 Python 3.9 在 VSCode 中,Python 3.9.6 64 位 ('venv':venv)

我已经成功创建了一个虚拟环境,我正在尝试使用图像库 (PIL)

  • 我已经在 venv 中安装了 Pillow,它显示在 Pip List 中
  • 当我使用 from PIL import Image 时,编辑器窗口中没有出现错误(红色曲线)
  • 当我运行程序时,我得到 ImportError: No module named PIL

这是代码:

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

image = Image.open('church in munich.jpg')
image2 = Image.open('cool car in italy.jpg')

image.show()

plt.imshow(image)
plt.imshow(image2)

输出结果:

Traceback (most recent call last):
  File "/Volumes/NewMacStorage/VSCode Work/PythonWork/main.py", line 1, in <module>
    from PIL import Image
ImportError: No module named PIL

我已经包含了 VSCode 的样子:

有人知道问题出在哪里吗?提前致谢。

【问题讨论】:

  • 你是如何运行你的代码的?你在使用虚拟环境的解释器吗?
  • @brian 我正在使用虚拟环境的解释器运行它,是的。它显示当前是 /venv/bin/python
  • 会不会是枕头模块版本和python版本有问题?
  • @thirdsandfourths ,我 认为 作为一个新手,这有点牵强,我要处理三个变量:evenv 与仅 VScode 工作区或组合枕头和 Python3。第一步,至少对我来说,是在这里问。我不清楚 Workspace 与 venv 所以完全有可能/很可能,我的配置搞砸了。
  • 在运行代码之前,你有没有运行过这个命令source venv/bin/activate?如果没有,请尝试先运行它,然后执行脚本。或者你有没有在任何时候运行source venv/bin/activate

标签: python macos visual-studio-code virtualenv


【解决方案1】:

经过这里的一些人的指点(谢谢),这个问题在于 PATH 混乱(即从哪里读取内容)、正确设置和激活虚拟环境以及将 VSCode 指向正确的解释器。

在我的 Mac 上解决这个问题:

  • 从 VScode 退出。可能不需要,但我想消除正在运行的所有变量等。
  • 转到 VSC 外部的终端窗口
  • 设置您的虚拟环境
  • 激活它
  • 从该空间中的“代码”。将启动 VSCode
  • 当您创建 .py 文件时,请确保您在该代码上使用正确的解释器,您可以通过转到命令托盘并使用命令 Python:选择与您的虚拟机关联的解释器来查看/设置/更改该代码环境。我将我的环境命名为“codeland”,这样当我查看解释器选择列表时,这对我来说是显而易见的。您也可以使用 venv 默认值。
  • 我在 VScode 中打开了终端窗口,果然,我在我设置的虚拟环境中。

从那里开始,在我的代码中安装和使用像枕头 (PIL) 这样的模块工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2022-07-16
    • 2018-07-09
    相关资源
    最近更新 更多