簡體   English   中英

提示:將依賴項安裝為可編輯

[英]Pip: install dependencies as editable

我有一個內部Python應用程序,它作為軟件包的集合進行部署,並且我需要一種方法讓開發人員快速檢出所有這些軟件包作為可編輯的源,以便可以就地編輯整個應用程序並進行更改。所有軟件包都可以輕松推回到原始git服務器。 另外,該應用程序需要由非開發人員作為傳統程序包進行部署。

假設我有一個頂層軟件包,其中包含setup.py如下所示:

# ...
setup(name="Foo",
      # ...
      url="https://mygitserver.com/Foo",
      install_requires=[
          "Bar>=0.0.1",
      ],
      dependency_links=["git+https://mygitserver.com/Bar@0.0.1#egg=Bar-0.0.1",],
      # ...
  )

我可以使用以下命令以可編輯的方式安裝此軟件包:

pip3 install -e git+https://git@mygitserver.com/Foo#egg=Foo --process-dependency-links

這將創建一個目錄src/foo ,並使用從git服務器中簽出的Foo的源代碼填充該目錄。 很好

依賴項Bar也可以從git服務器中檢索出來,但並未安裝為editable pip3 freeze僅將其顯示為名為Bar的常規安裝軟件包,因此git URL也將丟失。

有沒有辦法以某種方式進行干預並使pip將某些(不一定是全部)依賴項安裝為可編輯狀態? 還是在這種情況下需要使用requirements.txt 如果必須使用requirements.txt ,那么在由非開發人員部署時,如何確保這些依賴項可以正常安裝?

我知道pip> 10意味着可以消除dependency_links但是目前我還停留在pip 9.0.2中。 我正在使用Python 3.5。 我的目標是一個很難更改它們的嵌入式平台,因此這些版本是我目前正在使用的版本。 如果pip> = 10可以在這方面做一些新的事情來幫助我,那么我可以考慮進行升級,在這個系統上做起來並不容易。

您可以簡單地在pip install -e <Bar-URL>之前pip install -e <Bar-URL> ,然后在安裝Foo時pip會確定已經安裝了依賴項。 兩者都是可編輯的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM