亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何設置兩個 PyPI 索引

如何設置兩個 PyPI 索引

開滿天機 2023-07-18 17:58:13
我有一個本地 GitLab 安裝,附帶本地 PyPI 服務器來存儲公司內部 Python 包。如何配置 PyPI 以在兩個索引服務器中搜索包?我閱讀了有關.pypirc/ 的內容pip/pip.ini并找到了各種設置,但到目前為止還沒有解決方案。大多數解決方案將所有搜索永久切換到其他索引服務器。但我希望能夠正常安裝和更新來自 pypi.org 的軟件包,而某些軟件包來自本地索引。使用憑證接縫設置多個索引服務器僅限于 distutils(例如由 twine 使用),但不由 pip 使用[global]如果在或中配置索引服務器會出現混亂[install]。我假設后一個是 的規則子集pip install。(這里的文檔不清楚。)-r gitlab雖然 twine 可以像引用某個部分一樣引用配置文件中的存儲庫條目[gitlab],但 pip 無法使用此類命名引用...所以我想達到的目標是:pip應該能夠從 pypi.org 安裝和更新常規軟件包,如 coloramapip應該能夠從 gitlab.company.com 安裝和更新軟件包使用用戶名 ( __token__) 和密碼 ( 7a3b62342c784d87) 進行身份驗證必須有效到目前為止的實驗:[global][install]find-links =    https://pypi.org    https://gitlab.company.de/api/v4/projects/2142423/packages/pypitrusted-host =    https://pypi.org    https://gitlab.company.de/api/v4/projects/2142423/packages/pypi[distutils]index-servers =    gitlab[gitlab]repository = https://gitlab.company.de/api/v4/projects/2142423/packages/pypiusername = __token__password = geheim
查看完整描述

2 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

目標

  1. pip install應該從 GitLab 以及 PyPi 存儲庫安裝/更新軟件包。如果兩者都存在相同的包,則首選PyPi 。

  2. pip install應該支持身份驗證。首選,如果我們可以以某種方式讓它從配置文件中讀取,這樣我們就不需要重復指定它。

理論

  1. pip install支持--extra-index-url指定額外的 PyPi 索引。同樣也可以通過文件提供pip.conf

  2. pip使用requests支持~/.netrc配置文件(文檔)。

腳步

  1. 在建議的任何位置創建一個pip.conf(如果在 Windows 上)?。pip.inipip config -v list

  2. 將您的 GitLab PyPi 索引 URL 添加到pip.conf.

[install]

extra-index-url = https://gitlab.com/api/v4/projects/12345678/packages/pypi/simple

創建或更新您的~/.netrc文件并添加您的 GitLab 身份驗證詳細信息。

machine gitlab.com

? ? login <token-name>

? ? password <token-pass>

  1. 我們現在可以像安裝軟件包一樣簡單pip install <package-name>。pip現在將查看兩個索引來查找您的軟件包,并優先選擇 指向的索引index-url。

附加信息

  1. pip search如果支持多個索引,同樣的情況也是可能的。在此之前,需要手動指定應使用哪個 PyPi 索引 URL。GitLab 似乎不支持,因為當指定為 PyPi 索引時pip search它會拋出415 客戶端錯誤:不支持的媒體類型。

  2. 至于您的疑問,中的每個部分都pip.conf指向該特定命令,提供了、for等的[install]配置??赡苤傅氖强梢詾樗忻钪付ǖ膮?,無論是 it還是。pip install[search]pip search[global]pip installpip search

  3. .pypircfile 專門用于配置與上傳相關的包索引(由 twine/flint 使用),其中 as與管理本地系統上的 python 包的pip.conf配置相關。pip


查看完整回答
反對 回復 2023-07-18
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

試試這個:

[global]

index-url = http://pypi.org/simple

trusted-host = pypi.org

? ? ? ? ? ? ? ?gitlab.company.de

extra-index-url= https://username:[email protected]/api/v4/projects/2142423/packages/pypi



查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號