Django 根目录中的 requirements.txt 文件

4 投票
2 回答
1232 浏览
提问于 2025-04-17 20:33

我已经设置了一个需求文件夹,内容如下:

requirements/
  local.txt
  development.txt/
  production.txt/

我在想,我应该在我的基础 requirements.txt 文件里放些什么,才能指向正确的文件?我不想每次都用 -r requirements/local.txt。我想要一个基于我的虚拟环境的解决方案。

有没有类似于 DJANGO_SETTINGS_MODULE 的变量,不过是用来处理需求的,而不是设置的?

2 个回答

0

没有一个内置的环境变量可以让pip找到requirements.txt文件。不过,你可以自己定义一个。

比如说:

export PIP_REQUIREMENTS_TXT=requirements/development.txt

然后你可以用这个命令来安装依赖:pip install -r $PIP_REQUIREMENTS_TXT

7

一般来说,会有一个叫做 common.txt 的需求文件,里面会放一些共享的包,比如 django。然后你可以在你的 development.txt 文件里加一行来扩展它,内容是:

-r requirements/common.txt
pygraphviz
django-nose

等等……

上面的做法有点像继承,是处理多个需求的一种常见且优雅(我觉得)的方法。

我很确定没有办法设置一个环境变量,指向一个需求文件,然后让网络服务器自动根据文件里的包来配置你的环境;不过如果有这样的功能,那就太酷了!

撰写回答