Sto provando a far sì che Tox e Conda suonino insieme bene. Principalmente perché ho un sacco di dipendenze non python che devono essere installate ed è stato facile creare distribuzioni Conda. Quindi posso installare tutto con un semplice conda install
.Errore durante l'utilizzo dell'origine in un file Tox ini python
Tuttavia, ho problemi con l'attivazione dell'ambiente conda.
[tox]
envlist = py27
[testenv]
whitelist_externals =
conda
source
py.test
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/damlarces
install_command =
python build_env.py --conda-env {toxworkdir}/conda {packages}
commands =
source activate {toxworkdir}/conda
py.test --basetemp={envtmpdir}
Il python build_env.py --conda-env {toxworkdir}/conda {packages}
si occupa della creazione dell'ambiente (se necessario), installare i pacchetti, ecc Il problema arriva alla linea source activate {toxworkdir}/conda
. Ottengo un errore ERROR: InvocationError: could not find executable 'source'
. Digitando il comando direttamente nella riga di comando funziona bene.
Per coloro che sono interessati. Il build_env.py
si trova in questo Gist: https://gist.github.com/JudoWill/70450979353fa2d12823 ... Attualmente sta solo installando le dipendenze Python ma nel suo ambiente previsto installerà i repository di Conda che non sono necessariamente librerie python. Qualche idea?
Non conosco né conda né tox, ma poiché sembra che tu sia in grado di eseguire script Python in questo modo, non puoi scrivere uno script per avvolgere quella chiamata a 'source', simile a' build_env.py'? –
Provato. A causa del modo in cui Tox funziona, la shell viene persa tra le sezioni 'install_command' e' commands' della corsa. Ho anche provato a incapsulare i due 'comandi' in un singolo bash-script. Questo dà anche "InvocationError". – JudoWill
Puoi mostrare cosa c'è dentro 'build_env.py'? Grazie. – alecxe