2017-03-17 57 views
1

以下兩個命令都成功安裝我的軟件包,沒有錯誤。pip安裝git倉庫有和沒有#egg =

pip install git+https://path_to_repo/[email protected]

pip install git+https://path_to_repo/[email protected]#egg=repo_name

的區別是什麼?

我使用PIP 7.1.0和9.0.1

+0

@abccd:我們最近發現它實際上改變了pip的行爲。當'#egg = name'以這種形式使用,或者它沒有被使用,但標籤改變時,代碼在第二次運行時不會被更新(版本不會被升級到新代碼)。我們發現你必須使用'#egg = name == 0.1.2',這將會「檢測」代碼改變,並且軟件包將被升級。 – spinus

回答

0

制定的名稱和版本

對於每個候選項目,PIP需要知道項目名稱和 版。對於車輪(通過.whl文件擴展名標識),根據車輪規格,可以從文件名獲得 。對於本地 目錄或顯式指定的sdist文件,使用setup.py egg_info命令確定項目元數據。對於通過索引位於sdists ,文件名被解析的名稱和項目 版本(這是比使用 egg_info命令略少可靠的理論,但避免了文件的下載和處理不必要的 號)。

任何URL可以使用#蛋=名稱語法明確說明項目名稱。

+0

請勿使用代碼塊進行報價。在其他問題中,它使屏幕閱讀器逐字讀出引用字符而不是單詞。 – jwodder

+0

@jwodder:我會牢記在心:) –