我正在尝试在Python 3.9.2中使用Pillow(由pyenv管理)。 我使用Poetry来管理我的虚拟环境和依赖项,因此我运行poetry add pillow
,成功将Pillow =“^8.2.0”
添加到了我的pyproject.toml中。根据Pillow文档,我在脚本中添加了from PIL import Image
,但是当我尝试运行它时,我得到以下错误:
File "<long/path/to/file.py>", line 3, in <module>
from PIL import Image
ModuleNotFoundError: No module named 'PIL'
当我查看venv Poetry为我创建的内容时,我可以看到一个PIL目录(
/long/path/lib/python3.9/site-packages/PIL/
)和其中的一个Image.py文件。我错过了什么? 我已经尝试过:
- 按this中的方式将其大小写转换为
from pil import Image
;但没有起作用 - 降级到较低版本的Python和PIL;可以运行,但是这样做没有意义
- 预计时间:通过Poetry导出requirements.txt文件,使用venv创建虚拟环境并手动安装包;可以运行,但是这让我无法使用Poetry/pyproject.toml
poetry run python <your script.py>
的输出是什么? - ont.rifpoetry shell
激活虚拟环境;poetry install
:从技术上讲,这是不必要的,因为add
命令应该会安装所需的依赖,但最好确认一下。输出结果应为:No dependencies to install or update
;python script.py
;在这一步中,我遇到了ModuleNotFoundError: No module named 'PIL'
的错误提示。