[英]pip install package still not following dependency links
我在使用setup.py pip安裝我的軟件包時遇到了麻煩,該軟件包也具有依賴項鏈接。 我已經仔細閱讀了這個答案和這個答案,所有答案(包括已接受的答案)都沒有幫助。
這是嘗試安裝的軟件包的setup.py 。 基本上,它會讀取requirements.txt來填充install_requires和dependency_links,其余大部分代碼都是cookie-cutter的樣板。 requirements.txt中有一個私人的github存儲庫,這是導致問題的原因。 例如git+https://${GITHUB_OAUTH_TOKEN}@github.com/jmerkow/pripy.git#egg=pripy
當我運行pip install -r requirements.txt
一切正常,它將安裝專用存儲庫。 但是,如果我嘗試使用pip install . --process-dependency-links
pip install . --process-dependency-links
,出現此錯誤:
Could not find a version that satisfies the requirement pripy (from mypackage==<sha>) (from versions: )
No matching distribution found for pripy (from mypackage==<sha>)
如果我從需求中的鏈接中pip install .
#egg=xxx
,則pip install .
會完全忽略私有repo軟件包pip install .
但是不是pip install -r requirements.txt
。
我已經確認dependency_links
包含'git+https://<actual-token>@github.com/jmerkow/pripy.git#egg=pripy'
,並且install_requires
包含'pripy'
如何正確設置安裝程序這是子軟件包的問題嗎? 除了沒有私有鏈接外,該存儲庫中的setup.py
幾乎相同。
gh,這總是發生。 我把所有工作都放在了問題上,然后我自己弄清楚了。
問題有兩點,首先,所有dependeny_links需要一個版本,其次要從需求文件中正確提取版本,您需要對字符串做一些魔術。
與上面的setup.py相比,我更改了將需求添加到兩個列表( 在此處更新)的方式。 然后將版本添加到鏈接上的git+https://${GITHUB_OAUTH_TOKEN}@github.com/jmerkow/pripy.git#egg=pripy-0
#egg=xxx
,例如git+https://${GITHUB_OAUTH_TOKEN}@github.com/jmerkow/pripy.git#egg=pripy-0
。
現在setup.py將解析該文件,獲取egg版本信息,將其轉換為pip版本(基本上將第一個'-'
替換為'=='
)以進行install_requires,您可以開始使用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.