如何获取版本名称中包含单词的最新 pip 包?
How to get latest pip package containing a word in the version name?
在私有 pip 存储库中有一个名为 'test_package' 的包。
该软件包有一个 QA 和一个产品版本,由 v.v.v.prod 和 v.v.v.qa 区分,其中 v 是主要的、次要的和微观的。
我如何获得最新版本的质量检查或生产包?
为了提供上下文,有一个 docker 作业每次运行时都会拉取最新的包,它需要拉取 qa 或 prod。
更好的方法是使用两个包 'test_package_qa' 和 'test_package_prod' 吗?如果这是更好的方法,有没有办法通过 pip 命令复制一个包并将其重命名为另一个包? (例如 test_package_qa-1.0.1 并将其复制到 test_package_prod-1.0.0,其中 test_package_qa 最新版本可能是 1.1.0,但 1.0.1 是我们要发布的版本)
遵循命名约定 explained here,您应该使用版本控制模式,使用 v.v.v
进行生产,使用 v.v.v.devN
进行 pre-release/development 版本,例如1.0.0
和 1.0.1.dev0
.
pip
将只安装最新的生产版本,除非您使用 --pre
参数或尝试明确安装此版本。
我通过设置本地存储库验证了这一点,我的包名为 foobar-utils
。在存储库中有 3 个版本:
foobar_utils-0.1.0.dev1
foobar_utils-0.1.0
foobar_utils-0.1.1.dev1
pip install
命令:
# install latest production version
$ pip install foobar-utils
... Downloading foobar_utils-0.1.0-py2.py3-none-any.whl ...
# install latest pre-release
$ pip install --pre foobar-utils
... Downloading foobar_utils-0.1.1.dev1-py2.py3-none-any.whl ...
# install a pre-release by specifying version
$ pip install "foobar-utils>=0.1.1.dev1"
... Downloading foobar_utils-0.1.1.dev1-py2.py3-none-any.whl ...
在私有 pip 存储库中有一个名为 'test_package' 的包。
该软件包有一个 QA 和一个产品版本,由 v.v.v.prod 和 v.v.v.qa 区分,其中 v 是主要的、次要的和微观的。
我如何获得最新版本的质量检查或生产包? 为了提供上下文,有一个 docker 作业每次运行时都会拉取最新的包,它需要拉取 qa 或 prod。
更好的方法是使用两个包 'test_package_qa' 和 'test_package_prod' 吗?如果这是更好的方法,有没有办法通过 pip 命令复制一个包并将其重命名为另一个包? (例如 test_package_qa-1.0.1 并将其复制到 test_package_prod-1.0.0,其中 test_package_qa 最新版本可能是 1.1.0,但 1.0.1 是我们要发布的版本)
遵循命名约定 explained here,您应该使用版本控制模式,使用 v.v.v
进行生产,使用 v.v.v.devN
进行 pre-release/development 版本,例如1.0.0
和 1.0.1.dev0
.
pip
将只安装最新的生产版本,除非您使用 --pre
参数或尝试明确安装此版本。
我通过设置本地存储库验证了这一点,我的包名为 foobar-utils
。在存储库中有 3 个版本:
foobar_utils-0.1.0.dev1
foobar_utils-0.1.0
foobar_utils-0.1.1.dev1
pip install
命令:
# install latest production version
$ pip install foobar-utils
... Downloading foobar_utils-0.1.0-py2.py3-none-any.whl ...
# install latest pre-release
$ pip install --pre foobar-utils
... Downloading foobar_utils-0.1.1.dev1-py2.py3-none-any.whl ...
# install a pre-release by specifying version
$ pip install "foobar-utils>=0.1.1.dev1"
... Downloading foobar_utils-0.1.1.dev1-py2.py3-none-any.whl ...