2014-05-20 61 views
17

我在PyPI上有一個非常簡單的純Python包,我想在binstar上提供。我的軟件包針對Python 2.6+和3.2+以及一個代碼庫。我也希望它在Windows和Unix上都能很好地工作。在多個版本中創建conda包

有沒有一個簡單的方法來全面構建我的軟件包並將其上傳到binstar的許多Python版本?

我試過conda skeleton pypi的天真使用,如this article所建議的。我想在不同的版本中複製這個過程。

+0

Python版本或軟件包版本? – asmeurer

+0

Python版本 – MRocklin

回答

17

如果要爲許多不同版本的包建立食譜,請使用--version標誌conda skeleton pypi。我建議使用package-version作爲配方的命名約定。

如果要爲許多不同的Python版本構建相同的程序包,請使用--py標誌至conda build,如conda build --py 3.4 recipe。該標誌可以多次指定,例如conda build --py 3.3 --py 3.4 recipe,或者您可以使用--py all針對Python 2.6,2.7,3.3和3.4進行構建。

要將軟件包轉換爲其他平臺,請使用conda convert(請參閱conda convert -h以瞭解使用情況;請確保運行conda update conda-build,因爲API近期發生了一些變化)。

獲取binstar上傳最簡單的方法是運行conda config --set binstar_upload yes。這將導致conda buildconda convert完成後自動將包上傳到binstar。

+0

在conda的未來有任何可能性使用神奇的'conda build-all'命令(有適當的輸入指定版本)? – MRocklin

+0

我打算添加'conda build --all',但是由於環境變量被讀取和存儲爲全局狀態,結果變得不平凡。 – asmeurer

+0

可以擴展一下嗎?該功能在哪裏定義?這是一個shell腳本,你保存在conda-recipes目錄中,然後使用'$ ./conda-build-all my_python_lib'調用? –

相關問題