2014-05-20 12 views
17

Ho un pacchetto Pure Python su PyPI molto semplice che vorrei rendere disponibile su binstar. Il mio pacchetto si rivolge a Python 2.6+ e 3.2+ con una singola base di codice. Mi aspetto anche che funzioni ugualmente bene sia su Windows che su Unix.Crea pacchetto conda su più versioni

C'è un modo semplice per compilare in modo completo il mio pacchetto e caricarlo in binstar per molte versioni di Python?

Ho provato un uso ingenuo di conda skeleton pypi come suggerito in this article. Mi piacerebbe replicare questo processo attraverso molte versioni differenti.

+0

Versioni di Python o versioni del pacchetto? – asmeurer

+0

versioni Python – MRocklin

risposta

17

Se si desidera creare ricette per diverse versioni del pacchetto, utilizzare il flag --version su conda skeleton pypi. Raccomando di usare package-version come convenzione di denominazione per le ricette.

Se si desidera creare lo stesso pacchetto per diverse versioni Python, utilizzare il flagconda build, come conda build --py 3.4 recipe. Il flag può essere specificato più volte, ad esempio conda build --py 3.3 --py 3.4 recipe, oppure è possibile utilizzare --py all per creare Python 2.6, 2.7, 3.3 e 3.4.

Per convertire il pacchetto su altre piattaforme, usare conda convert (vedi conda convert -h per l'uso, assicurarsi di eseguire conda update conda-build, come l'API ha cambiato un po 'di recente).

Il modo più semplice per ottenere il caricamento della binstar è eseguire conda config --set binstar_upload yes. Ciò causerà conda build e conda convert per caricare automaticamente i pacchetti su binstar al termine.

+0

Qualche possibilità di un comando magico 'conda build-all' (con input appropriati che specificano le versioni) nel futuro di conda? – MRocklin

+0

Stavo per aggiungere 'conda build --all', ma si è rivelato non banale a causa del modo in cui la variabile di ambiente viene letta e memorizzata come stato globale. – asmeurer

+0

Potrebbe espandersi un po '? Dove è definita quella funzione? È uno script di shell che mantieni nella tua directory conda-recipes e poi chiama con '$ ./conda-build-all my_python_lib'? –

Problemi correlati