我注意到 pip-compile 生成了requirements.txt 文件,选择了依赖项的最新兼容版本。
例如,文件中有以下要求:
boto3
pip-compiles 生成以下requirements.txt 文件
#
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements.in
#
boto3==1.35.28
# via -r requirements.in
botocore==1.35.28
# via
# boto3
# s3transfer
jmespath==1.0.1
# via
# boto3
# botocore
python-dateutil==2.9.0.post0
# via botocore
s3transfer==0.10.2
# via boto3
six==1.16.0
# via python-dateutil
urllib3==2.2.3
# via botocore
即使我已经在我的 venv 中安装了 urllib3 1.26.18。
我知道我可以通过将 urllib3 版本设置为 requests.in 来强制使用它,但我更喜欢 pip-compile 采用依赖项的本地版本而不是最新的兼容版本。
有办法强制这种行为吗?
您可以通过运行以下命令强制
pip-compile
使用虚拟环境中已安装的版本:
pip-compile --no-upgrade
--no-upgrade
标志告诉pip-compile
根据您当前的软件包版本生成requirements.txt
文件,而无需升级它们。