为什么在pipenv install --dev之后不能运行dev依赖项?

时间:2019-05-20 19:43:50

标签: python pipenv

我在django-heroku中安装了package(而不是dev-package)。 gunicorndjango-heroku的dev依赖项。参见:https://github.com/heroku/django-heroku/blob/master/Pipfile

我希望运行pipenv install --dev之后,再运行pipenv run gunicorn

那为什么会引发以下错误?

Error: the command gunicorn could not be found within PATH or Pipfile's [scripts].

如果开发人员依赖项不可用,install --dev的意义是什么?

2 个答案:

答案 0 :(得分:7)

一个答案是,软件包X的“开发依赖项”是某人在开发(而不是使用)软件包X时需要的软件包。

我希望在运行pipenv之后在我的项目中安装--dev ...

如果在项目中使用pipenv install --dev,pipenv应该安装开发项目所需的所有软件包。

如果它递归地安装了所有dev依赖项,则可能会引入其他配置包需要的Python分析包,测试运行器等。这些不一定适合开发您的项目的人。

例如,如果我的项目将pytest列为开发依赖项,那么我对安装pipenv的{​​{1}}感到不满意,而在其他版本中,nose可以列为开发依赖项,过期的软件包。

如果您的软件包的开发人员需要gunicorn,则应将其明确列为项目的dev依赖项。

答案 1 :(得分:0)

我相信您链接的Pipfile仅与此包的开发相关。

但是,安装软件包时,通常依赖于setup.py

REQUIRED = [
    'dj-database-url>=0.5.0', 'whitenoise', 'psycopg2', 'django'
]

如您所见,gunicorn丢失了。