【发布时间】:2020-06-01 21:18:29
【问题描述】:
在运行 mange makemigrations 时,我收到一条错误消息,提示我需要安装 Pillow,因为我使用的是 ImageField。我在 MacOS 上运行了以下命令:
python3 -m pip 安装枕头 默认为用户安装,因为普通站点包不可写 收集枕头 下载 Pillow-7.0.0-cp37-cp37m-macosx_10_6_intel.whl (3.9 MB) |█████████████████████████████████| 3.9 MB 2.1 MB/秒 安装收集包:枕头 成功安装pillow-7.0.0
当我再次运行 checkmigrations 时,它没有抱怨,并且迁移工作正常。在我的 models.py 文件中,我没有收到以下导入的任何错误(来自 PyCharm):
from PIL import Image
我读到我必须使用这个命令来代替 Pillow。使用 Pillow 会被标记为未找到。
当我在 PyCharm 中运行运行命令时,出现错误:
错误: base.Team.profile_image: (fields.E210) 无法使用 ImageField,因为未安装 Pillow。 提示:在https://pypi.org/project/Pillow/ 获取 Pillow 或运行命令“python -m pip install Pillow”。
当我在 PyCharm 中检查 Project Interpreter 时,它会将 Pillow 显示为最新版本的包。
我使用 home-brew 安装了最新版本的 Python3。还有过时的 MacOS 版本。 Pillow 会不会安装在错误的位置?我怎么知道?
另一个奇怪的事情是我只能从 PyCharm 中运行迁移。从项目目录中的 shell 我得到:
python3 -m manage.py checkmigrations /usr/local/bin/python3:查找“manage.py”的模块规范时出错(ModuleNotFoundError:path 属性在尝试查找“manage.py”时未在“manage”上找到)
当我在 PyCharm 中运行它时效果很好
修复
是的,我安装了 pipenv,但它没有运行 shell。我在想它更多的是链接 rbenv,我已经使用了很多。这是我的第一个 django 项目。
我开始:
merrittsecurity python3 -m pipenv shell
我的提示改为:
(梅里特安全)➜梅里特安全
我正在使用 iTerm2、zshrc 以及我的 ZSH。我猜哦,我的 ZSH 正在添加它。不错的功能。
由于我的浏览器上的换行,我确定它是 djangopillow 还是两个词。我选择了前者,因为如果它不是正确的,它会出错。它做到了,我进入了:
(merrittsecurity) ➜ merrittsecurity pipenv 安装 django 枕头
这行得通,但给出了错误,说它可以找到 djangopillow。我在 pip 文件中找到并删除了它。有时选择错误,留下碎屑。当我再次运行枕头安装时,它没有错误地完成。
【问题讨论】:
-
听起来枕头不在你的
INSTALLED_APPS
标签: python django pycharm python-imaging-library