Python pip 重建要求

Python pip rebuild requirements

virtualenvpip installpip freeze 结合使用是一种很好的工作方式。您的所有要求都可以在 shell 处得到处理,稍后其他开发人员可以重新构建东西

pip install lib1
pip freeze > requirements.txt

# Do some development

# Oh I need this as well
pip install lib2
pip freeze > requirements.txt
# Another developer comes along
pip install -r requirements.txt

# They can carry on developer

但是,如果您随后想更新您的库变薄很困难(因为您冻结了所有依赖项,而不仅仅是您使用的包)。

有没有一种方法既可以像这样工作又可以在以后更新您的库。

一种方法是使用 pip-tools 并保留一个需求文件(由 pipenv 在内部使用),但这不是很“shelly”

我的工作流程避免了 pip freeze。它是:

# Oh, I need lib1
echo "lib1~=1.0" >> requirements.txt
pip install -r requirements.txt

# Oh, I need lib2
echo "lib2~=3.0" >> requirements.txt
pip install -r requirements.txt

这样,requirements.txt 只包含我的直接依赖项,所以希望它更容易维护。