【问题标题】:Django Pillow Install Works for Migrate, But Not RunDjango Pillow Install 适用于迁移,但无法运行
【发布时间】: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


【解决方案1】:

您是否使用任何虚拟环境?如果没有,你绝对应该是。我推荐pipenv。安装它,然后在你的项目文件夹中运行pipenv shell,然后运行pipenv install django pillow。安装完成后,运行pip freeze,看看pillow是否在列表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2021-10-13
    • 2015-12-10
    • 2021-06-27
    • 2020-10-14
    • 2011-11-02
    • 1970-01-01
    相关资源
    最近更新 更多