2016-08-04 66 views
0

Conda非常適合分發開源軟件的二進制文件。但是,對於我的行業中的某些軟件,用戶有必要在獲得訪問權限之前同意許可或在Web表單上提交他們的電子郵件。我希望每個人都可以使用conda,開發者是否還有一種方法可以使用conda來發布這樣的軟件包?一個簡單的解決方案應該是可能的,如conda install ...如何使用conda分發許可軟件包

我到目前爲止提出的最佳解決方案是提供用戶同意許可證的tar.bz2軟件包的下載,然後讓用戶運行conda install package.tar.bz2。不幸的是,這不會安裝公共可用的依賴關係(比如來自anaconda.org)。另一種方法是讓用戶下載軟件包並將其放置在conda_bld文件夾中,但這有點手動,需要用戶瞭解其安裝情況。

回答

0

最簡單的方法可能是製作兩個包,一個包含實際包,另一個包安裝所有依賴關係。原因是,根據官方文檔,conda install ./pkg-0.0.0-py27_0.tar.bz2意味着--force,它不會安裝任何依賴項。因此,相反,你的用戶可以做

conda install -c your-channel pkg-deps 
conda install ./pkg-0.0.0-py27_00.tar.bz2 

在包pkg-deps,您應該列出所有的實際包的相關性,但包不需要安裝任何東西。從技術上講,這將是一個Metapackage

當用戶下載它時,實際的包文件可以位於任何目錄中,據我所知,並在命令行中提供。用戶不需要將軟件包放在特定的目錄中。