当我用 pipenv 安装 django 时,哪种方法更好?

When I install django with pipenv, which approach is better?

在像 django 这样的项目中安装包和其他东西时,声明版本是好是坏?

pipenv install django

pipenv install django==3.1.0

如果您正在开发一个应用程序(我假设您正在开发,因为您正在使用 Django),最好固定您的依赖项以确保安全、可重复的构建以及未来的版本在您开发它时正常工作.通常这是在 requirements.txt 文件中完成的,该文件可以通过 pip freeze > requirements.txt.

自动生成

如果您正在开发一个库,仍然建议固定依赖项,但要有更宽松的约束(例如 ~=3.1.0>=3.1.0 而不是 ==3.1.0)。

有关此主题的进一步讨论,请参阅

除非您出于某些特定原因需要特定版本,否则在执行 pip 安装之前声明版本并不是真正必要的。通常,自动安装的也能正常工作。

如果您仍然喜欢安装特定版本,那也没有错。