如何创建不带所有包版本的 requirement.txt 文件。
如何创建不带所有包版本的 requirement.txt 文件。
现在我的requirement.txt
文件包含以下包列表:
asgiref==3.2.3 beautifulsoup4==4.8.2 certifi==2019.11.28 chardet==3.0.4 Click==7.0 Django==3.0.2 idna==2.8 pytz==2019.3 requests==2.22.0 six==1.14.0 soupsieve==1.9.5 sqlparse==0.3.0 urllib3==1.25.7
我只想要包的名称,以便pip3始终安装最新版本。
admin 更改状态以发布 2023年5月22日
考虑一下,如果你在几个月前用 Django 2.x 写了开发APP,而且只在你的 requirements.txt 文件中将 Django 作为依赖项。现在 Django 3 已经发布了,如果你现在安装它,就会从 Django 2 直接跳到 Django 3,这可能会破坏你 APP 的一半功能。这还只是你依赖项中的一个。为此,我们故意将版本号定死,升级版本应该经过测试以确认其兼容性。你想在一个“已知良好”的状态下运行软件,而不是在一个随机不可预测的状态下运行软件。版本不兼容的情况不容小视。pip 可以方便地列出所有过时的依赖项,并升级它们只需要一条指令即可。\n\n逸事:openpyxl 在最近的 3.0.1 版本中发现了一个 bug,这个 bug 打破了我们 APP 的一个重要功能。你知道我们为什么没有受到影响吗?因为我们的 requirements.txt 文件使用了固定版本,我通过手动升级依赖项并决定不升级 openpyxl 来发现了这个问题。如果没有固定版本,我们的 APP 就会在 openpyxl 版本 3.0.1 仍是最新版本的几个星期内被破坏。