jpi*_*tel 5 python versioning packaging setuptools
假设我有一个名为 的 python 项目myproject,它依赖于mydependency. 两者均由我维护。
我怎样才能创建一个 setup.pymyproject以便它总是尝试安装新版本的mydependency,无论安装了哪个版本?
假设我有一个项目的 setup.py
setup(
...
install_requires=['mydependency'],
dependency_links = ['url_to_mydependecy_repo@develop#egg=mydependency'],
....
)
Run Code Online (Sandbox Code Playgroud)
问题是,在第二次安装运行时,mydependency已经安装了,因此安装将不会获取存储库并尝试安装更新的版本。由于mydependecy正在积极开发(由我),我需要myproject安装以始终获取依赖项链接。
我尝试在 mydepency 的 setup.py 上使用#egg=mydependency-devdependency_link 和'mydependency==dev'in install_requires,version='dev'但在第二次安装时“dev”已经存在,因此不会再次获取它。
myproject使用具有相同内容的requirements.txtdependency_links进行完全相同的操作。在以下安装中,已经满足要求,因此不会再次获取。
注意:使用pip -r requirements.txt --upgrade做了我想要的,但我不是手动安装,而是从 Openshift 安装,所以我无法真正添加--upgrade
尝试将依赖项链接到您已经尝试过的myproject开发版本,但在您的存储库中使用“有效”( semver?)版本控制(即不将版本设置为)。这将导致重新下载和重新安装依赖项(至少在我的情况下有效):mydependencymydependencydev
setup(
...
install_requires=['mydependency == dev'],
dependency_links = ['url_to_mydependecy_repo@develop#egg=mydependency-dev'],
....
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |