2013-07-10 50 views
1

我正在設置自己的包含一些私有包的PyPI。問題是一些私有包與PyPI中的現有包具有相同的名稱。包含同名私有PyPI包

與PyPI中現有的軟件包相比,相同名稱的私有軟件包不一定具有更高的版本號,因此當我做pip install --extra-index-url <Private_PyPI_URL>時,pip會自動下載更高版本號的軟件包,而這些軟件包可能不是我私人存儲庫中的軟件包。

如何才能使pip install檢查PyPI的軟件包是否無法從專用存儲庫中找到軟件包?

還要注意私有包有時也可以指定爲其他私有包的依賴關係。

回答

1

使用--find-links直接鏈接到索引頁列出這些軟件包:

pip install --find-links <Private_PyPI_URL>/package_name package_name 

,但你真的要使用內部版本號(追加_companyname_1等)和引腳那些版本數字。請參閱包裝指南中的Specifying Your Project’s Version

這樣,您仍然可以通過切換版本號來切換您的版本和公開發布的版本

你想要做的另一件事是使用適當的pip requirements file來固定版本號,並版本控制該文件。您也可以在該文件中包含索引和查找鏈接網址。

+0

不幸的是, - 查找鏈接選項不起作用,點將仍然最終安裝具有更高版本號的那個... – Hery

+0

內部版本號的選項看起來不錯,但我需要指定版本每次爲了選擇私人包裹,有沒有辦法先選擇私人包裹,如果沒有指定版本號碼? – Hery

+0

@Hery:只有當您的版本號被認爲是「更高」時。您可能想要使用'requirements.txt'文件,這樣更容易指定版本引腳。 –