我有一个私人托管的软件包,与PyPi上的一个公共软件包在名称上有冲突。不幸的是,由于公有包的版本比我的私有包高,因此,我只能通过简单的 pip install <package_x>
命令找到公共版本,而不是我的私人托管包。
实际上。
PyPi (public) hosts package_x==1.5.0
PrivateRepo (private) hosts package_x==1.3.0
我想 pip install package_x
来安装私有版本1.3.0,而不需要我在pip安装命令中指定版本或索引(纯粹通过配置文件)。
我试图将我的pip配置设置为只查看单个软件包的特定私有仓库,但私有仓库和标准的 https://pypi.python.org/simple/
仓库中的其他东西。我试着把私有仓库设置为我的index-url,把PyPi设置为extra-index-url,但这仍然会在两个仓库中搜索最新的软件包版本。
有没有办法在我的pip配置中,指定一个给定包的具体repo?理想的情况是这样的。
[global]
force-index: https://privaterepo.net/simple
- package_x
很遗憾,目前仅靠配置是无法实现的。
你可以做的一件事就是从需求文件中安装,它允许你指定的是 index-url
按每个包件计算,例如:
requirements.txt
:
package_y==1.2.3
package_x==1.3.0 --index-url https://privaterepo.net/simple
package_z==1.2.3
那么你将 pip install -r requirements.txt
而不是。