我有幾個互相依賴的python項目。每個項目有不同的發行版本,不同的項目可能依賴於特定項目的不同發行版本。我想在內部服務器上創建我自己的conda存儲庫,我可以將這些項目的版本推送爲conda包,其他項目可以從那裏安裝所需的版本。這可能嗎?如果是這樣如何?如何託管我自己的專用conda存儲庫?
10
A
回答
19
您可以使用conda custom channel作爲您的私人回購。基本步驟是使用「conda build」創建conda包,然後將該包複製到您的自定義通道(目錄)中,然後在該目錄上運行conda索引。然後,您可以使用「conda install -c」從此通道安裝軟件包。
一個例子,更詳細,讓我們假設Linux的64:
- 創建通道:
mkdir -p /tmp/my-conda-channel/linux-64
現在,假設你有一些項目名爲 「abc」 與meta.yaml和build.sh一些版本X.現在,你蓋了:
conda build abc
這將b在您的conda-bld目錄中創建一個tar.bz2文件。例如:〜/ miniconda3/conda-bld/linux-64/abc-X-py35_0.tar.bz2。該文件複製到您的頻道:
cp ~/miniconda3/conda-bld/linux-64/abc-X-py35_0.tar.bz2 /tmp/my-conda-channel/linux-64/
現在指數是:
conda index /tmp/my-conda-channel/linux-64/
現在已經上載的包到您的自定義頻道。您可以通過做任何你暢達環境的安裝:
conda install -c file://tmp/my-conda-channel/ abc=X
其中,召回,在X是版本是這樣,一旦你放置更多版本在您的頻道,你可以安裝特定的版本。
如果您有一個項目依賴於X版本的「abc」,那麼我們只需將其添加到該項目meta.yaml。例如:
package:
name: some-other-project
version: 0.1
requirements:
build:
- abc X
...
一旦你創建了這個通道,它可能是一個好主意,這樣它會被自動搜索,將其添加到您的.condarc文件。例如:
channels:
- file://tmp/my-conda-channel/
- defaults
相關問題
- 1. 用於管理/託管自己的p2存儲庫的工具?
- 2. 我自己的grails託管
- 3. 是否有可能使用Jenkins插件託管自己的存儲庫?
- 4. OSGI OBR存儲庫託管?
- 5. 如何爲我自己的庫創建本地Maven存儲庫?
- 6. 託管我自己的網站
- 7. Github:如何結帳我自己的存儲庫
- 8. 非託管內存和託管存儲
- 9. 如何創建託管非Mavenized庫的本地Maven存儲庫?
- 10. 如何使用本地託管的rhodecode mercurial git存儲庫
- 11. 如何在我自己的網站上託管版本控制
- 12. 如何保護我自己託管的網站/系統?
- 13. 如何爲幾個用戶託管一個Mercurial存儲庫?
- 14. 如何使用存儲庫URL託管openshift?
- 15. 使用谷歌雲存儲託管maven存儲庫
- 16. 我可以在自己的辦公室服務器上創建一個託管的SVN存儲庫'並行'嗎?
- 17. AWS NVMe存儲 - 託管數據庫
- 18. 如何接受GitHub託管的存儲庫的邀請?
- 19. 使git克隆自己的存儲庫
- 20. 如何用我自己的VCS存儲庫覆蓋作曲家中的sylius 0.18?
- 21. 如何備份託管的SVN存儲庫?
- 22. 如何將我的紅寶石發佈到我自己的存儲庫?
- 23. 與Plesk專用Linux託管
- 24. 在自己的域中託管我的Google應用程序
- 25. iOS:我可以在託管中存儲託管對象嗎?
- 26. 自己託管OWIN與CORS的WEB API
- 27. SqlMembershipProvider的:用我自己的數據庫作爲用戶存儲數據庫
- 28. 託管自己的web應用程序的Node.js或使用託管服務
- 29. 無法從自己託管的Parse連接到mLab數據庫
- 30. 將外部導入到我自己的SVN存儲庫中
任何方式來做到這一點,使您的頻道可以通過HTTP訪問? – ostrokach