2017-08-24 23 views
1

我有一個有效的pip包,我試圖把它放到Anaconda.org服務器上。我創建了具有conda框架的meta.yaml文件,其中包括對pint的要求(沒有選擇特定版本,所以它應該默認爲最新版本)。但是,當我嘗試使用conda build構建軟件包時,conda引發此錯誤: raise DependencyNeedsBuildingError(exc, subdir=subdir) conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: ['pint'] 但是,有一個品質是爲osx-64 ...在conda和pip以及我的機器上構建的 - 這是我用來運行我的pip軟件包的一個品牌。 conda尋找哪些存儲庫以找到該要求,以及如何指定在meta.yaml中使用的正確品脫?Conda構建令人滿意的依賴關係錯誤與品脫

回答

2

康達通過配置中的信道,其可以與所述命令

conda config --get channels 

(或conda config --show)查看打獵。 Conda build始終會從存儲庫安裝軟件包(也就是說,它不依賴於本地安裝的軟件包),因爲這是普通用戶在安裝軟件包時要執行的操作。在你的情況下,你需要添加一個頻道來獲取pint包;你可以通過在Anaconda.org上搜索找到合適的頻道,在這種情況下,conda-forge頻道(其中包括我推薦的頻道)有pint包。您可以將通道與

conda config --add channels conda-forge 

添加到您的配置,或者您可以使用它爲這個單一的建立與-c選項conda build

conda build -c conda-forge your_pacakge_name 

更多信息請參見conda-build

+0

如果有其他人需要構建這個,我該如何溝通他們需要添加到我的包中的渠道?我假設在meta.yaml ...有沒有一個標準的方式來指定這些構建需求渠道? –

+0

據我所知並不如此。由於許多渠道都可以解決依賴問題(一般情況下),因此軟件包維護人員不應該強制用戶使用特定渠道。你可以在你的文檔中提到它,所以你的用戶知道該怎麼做:-) – darthbith

相關問題