tox-dev / tox-conda

Make tox cooperate with conda envs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Version 0.8 retrieves EnvironmentLocationNotFound

fnahuelc opened this issue · comments

I get an error when using version 0.8. It doesn't crash when I downgrade to version 0.7.3.
Do I have to configure something different?

Error log:

`
GLOB sdist-make: C:\cd\new workspace\setup.py
py37-32 create: C:\cd\new workspace.tox\py37-32
py37-32 installcondadeps: pytest
py37-32 installdeps: pytest-print, pytest-mock, tox-conda
ERROR: invocation failed (exit code 1), logfile: C:\cd\new workspace.tox\py37-32\log\py37-32-2.log
================================== log start ==================================

EnvironmentLocationNotFound: Not a conda environment: C:\cd\new
`

Note that the path is not fully printed => C:\cd\new
Maybe it is related to a space in the abs path

Could you please provide the output of the tox command with -v?
A minimal reproducer would also be helpful.

Thanks for having a look at it.

Log file with version 0.7.XX

action: py37-64, msg: getenv
cwd: C:\Users\nahc\Documents\Conda packages\audio_driver\.tox
cmd: 'C:\Users\nahc\Miniconda3\envs\RT_37_32\condabin\..\Scripts\conda.exe' install --quiet --yes -p py37-64 python=3.7 pytest
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##
...

Log file with version 0.8.XX

action: py37-64, msg: getenv
cwd: C:\Users\nahc\Documents\Conda packages\audio_driver
cmd: 'C:\Users\nahc\Documents\Conda packages\audio_driver\.tox\py37-64\python.EXE' -m pip install pytest-print pytest-mock tox-conda

EnvironmentLocationNotFound: Not a conda environment: C:\Users\nahc\Documents\Conda

Installation
tox: conda install -c conda-forge tox
tox-conda: pip install tox-conda

tox.ini:

[tox]
envlist = py37-{32,64}
requires = tox-conda

[testenv]
recreate=True
passenv = PYTHONPATH
setenv =
    PYTHONPATH = {toxinidir}:{envdir}
basepython =
    py37-32: python3.7-32
    py37-64: python3.7-64
deps =
    pytest-print
    pytest-mock
    tox-conda
conda_deps =
    pytest

conda_env = conda-env.yml
commands =
    pytest {posargs:-v}

The log for 0.8 shows that tox seems to use pip instead of conda:
cmd: 'C:\Users\nahc\Documents\Conda packages\audio_driver\.tox\py37-64\python.EXE' -m pip install pytest-print pytest-mock tox-conda

It looks like tox-conda is not installed in the same environment as tox.
What gives conda list and pip list from the environment where tox and tox-conda are installed?

Yes, I also saw that but it seems they are in the same place. And it does work when I downgrade using the same environment.

I have quite a few packages there. Maybe something else is interfering?

conda list
(RT_37_32) C:\Users\nahc\Documents\Conda packages\audio_driver>conda list
# packages in environment at C:\Users\nahc\Miniconda3\envs\RT_37_32:
#
# Name                    Version                   Build  Channel
acoustics                 0.2.4.post0              pypi_0    pypi
appdirs                   1.4.4                    pypi_0    pypi
artifactory               0.1.17                   pypi_0    pypi
atomicwrites              1.4.0                      py_0
attrs                     20.3.0             pyhd3eb1b0_0
beautifulsoup4            4.9.3              pyha847dfd_0
blas                      1.0                         mkl
brotli                    1.0.2                    vc14_0    conda-forge
brotlipy                  0.7.0           py37hc431981_1003    
bzip2                     1.0.8                he774522_0
ca-certificates           2018.4.16                     0    conda-forge
certifi                   2020.12.5        py37h9f7ea03_0
cffi                      1.14.5           py37hb88044d_0
chardet                   3.0.4           py37h9f7ea03_1003
colorama                  0.4.4              pyhd3eb1b0_0
comtypes                  1.1.7                 py37_1001    anaconda
conda                     4.10.1           py37h9f7ea03_1
conda-build               3.21.4           py37h9f7ea03_0    
conda-package-handling    1.7.3            py37h559d222_1
configparser              5.0.1                      py_0    anaconda
cryptography              3.4.7            py37h2dc1c97_0
cycler                    0.10.0                   py37_0
cython                    0.29.21          py37ha925a31_0    anaconda
distlib                   0.3.1                    pypi_0    pypi
easyprocess               0.3                      pypi_0    pypi
et-xmlfile                1.1.0                    pypi_0    pypi
filelock                  3.0.12             pyhd3eb1b0_1
freetype                  2.10.4               h5b497f6_0
glob2                     0.7                      py37_0
icc_rt                    2019.0.0             h0cc432a_1
icu                       58.2             vc14hbe8e9fa_0  [vc14]  anaconda
idna                      2.10               pyhd3eb1b0_0
importlib-metadata        3.10.0           py37h9f7ea03_0
importlib_metadata        3.10.0               hd3eb1b0_0
iniconfig                 1.1.1              pyhd3eb1b0_0
intel-openmp              2021.2.0           h9f7ea03_616
jinja2                    2.11.3             pyhd3eb1b0_0
jpeg                      9b               vc14h39a59fb_1  [vc14]  anaconda
kiwisolver                1.3.1            py37h6986bd8_0
libarchive                3.4.2                h5e25573_0
libiconv                  1.15             vc14h61b1384_5  [vc14]  anaconda
liblief                   0.10.1               ha925a31_0
libpng                    1.6.37               h2a8f88b_0
libtiff                   4.2.0                h85af5b5_0
libxml2                   2.9.10               h85530e8_3
libxslt                   1.1.34               he774522_0
lxml                      4.6.1            py37hfdc6ac5_0    anaconda
lz4-c                     1.9.3                hc431981_0
markupsafe                1.1.1            py37he774522_0
matplotlib                3.3.1                         0    anaconda
matplotlib-base           3.3.1            py37h4c87cce_0
menuinst                  1.4.16           py37he774522_1
mkl                       2019.4                      245
mkl-service               2.3.0            py37hdb075cb_0
mkl_fft                   1.3.0            py37h629a5db_0
mkl_random                1.1.0            py37h675688f_0
more-itertools            8.7.0              pyhd3eb1b0_0
numpy                     1.19.1           py37h5510c5b_0    anaconda
numpy-base                1.19.1           py37ha3acd2a_0
olefile                   0.46                     py37_0
openpyxl                  3.0.7                    pypi_0    pypi
openssl                   1.1.1k               hc431981_0
packaging                 20.9               pyhd3eb1b0_0
pandas                    1.1.3            py37h40edd37_0    anaconda
pathlib                   1.0.1                    py37_1    anaconda
pillow                    8.2.0            py37h371c38d_0
pip                       20.2.4           py37he931aee_0    anaconda
pkginfo                   1.7.0            py37h9f7ea03_0
pluggy                    0.13.1           py37h9f7ea03_0
psutil                    5.8.0            py37hc431981_1
py                        1.10.0             pyhd3eb1b0_0
py-lief                   0.10.1           py37ha925a31_0
pycosat                   0.6.3            py37hc431981_0
pycparser                 2.20                       py_2
pyopenssl                 20.0.1             pyhd3eb1b0_1
pyparsing                 2.4.7              pyhd3eb1b0_0
pyqt                      5.9.2            py37h6538335_0
pyreadline                2.1                      py37_1    anaconda
pyserial                  3.4                        py_2    anaconda
pysocks                   1.7.1            py37h9f7ea03_0
pysoundfile               0.9.0.post1              pypi_0    pypi
pytest                    6.1.1            py37he931aee_0    anaconda
python                    3.7.9                h60c2a47_0    anaconda
python-dateutil           2.8.1              pyhd3eb1b0_0
python-libarchive-c       2.9                pyhd3eb1b0_1
pytz                      2021.1             pyhd3eb1b0_0
pywin32                   227              py37he774522_1    anaconda
pywinusb                  0.4.2                      py_0    schrodinger
pyyaml                    5.4.1            py37hc431981_1
qt                        5.9.7            vc14h73c81de_0  [vc14]  anaconda
requests                  2.24.0                     py_0    anaconda
robotframework            3.1.2                      py_0    conda-forge
ruamel_yaml               0.15.100         py37hc431981_0
scipy                     1.5.2            py37h9439919_0    anaconda
setuptools                52.0.0           py37h9f7ea03_0
sip                       4.19.8           py37h6538335_0
six                       1.15.0           py37h9f7ea03_0
sounddevice               0.4.1                    pypi_0    pypi
soupsieve                 2.2.1              pyhd3eb1b0_0
sqlite                    3.35.4               hc431981_0
tabulate                  0.8.9                    pypi_0    pypi
tk                        8.6.7            vc14h051b162_1  [vc14]  anaconda
toml                      0.10.2             pyhd3eb1b0_0
tornado                   6.1              py37hc431981_0
tox                       3.12.1                     py_0    conda-forge
tox-conda                 0.8.0                    pypi_0    pypi
tqdm                      4.59.0             pyhd3eb1b0_1
typing_extensions         3.7.4.3            pyha847dfd_0
tzlocal                   2.1                      py37_0    anaconda
urllib3                   1.25.11                    py_0
vc                        14.2                 h21ff451_1
virtualenv                20.4.4                   pypi_0    pypi
vs2015_runtime            14.27.29016          h5e58377_2
warehouse-client          1.0.4                    pypi_0    pypi
wheel                     0.36.2             pyhd3eb1b0_0
win_inet_pton             1.1.0            py37h9f7ea03_0
wincertstore              0.2                      py37_0
xz                        5.2.5                h62dcd97_0
yaml                      0.2.5                he774522_0
zipp                      3.4.1              pyhd3eb1b0_0
zlib                      1.2.11           vc14h902601c_1  [vc14]  anaconda
zstd                      1.4.5                h04227a9_0

pip list
(RT_37_32) C:\Users\nahc\Documents\Conda packages\audio_driver>pip list
Package                Version
---------------------- -------------------
acoustics              0.2.4.post0
appdirs                1.4.4
artifactory            0.1.17
atomicwrites           1.4.0
attrs                  20.3.0
beautifulsoup4         4.9.3
brotlipy               0.7.0
certifi                2020.12.5
cffi                   1.14.5
chardet                3.0.4
colorama               0.4.4
comtypes               1.1.7
conda                  4.10.1
conda-build            3.21.4
conda-package-handling 1.7.3
configparser           5.0.1
cryptography           3.4.7
cycler                 0.10.0
Cython                 0.29.21
distlib                0.3.1
EasyProcess            0.3
et-xmlfile             1.1.0
filelock               3.0.12
glob2                  0.7
idna                   2.10
importlib-metadata     3.10.0
iniconfig              1.1.1
Jinja2                 2.11.3
kiwisolver             1.3.1
libarchive-c           2.9
lxml                   4.6.1
MarkupSafe             1.1.1
matplotlib             3.3.1
menuinst               1.4.16
mkl-fft                1.3.0
mkl-random             1.1.0
mkl-service            2.3.0
more-itertools         8.7.0
numpy                  1.19.1
olefile                0.46
openpyxl               3.0.7
packaging              20.9
pandas                 1.1.3
pathlib                1.0.1
Pillow                 8.2.0
pip                    20.2.4
pkginfo                1.7.0
pluggy                 0.13.1
psutil                 5.8.0
py                     1.10.0
pycosat                0.6.3
pycparser              2.20
pyOpenSSL              20.0.1
pyparsing              2.4.7
pyreadline             2.1
pyserial               3.4
PySocks                1.7.1
PySoundFile            0.9.0.post1
pytest                 0.0.0
python-dateutil        2.8.1
pytz                   2021.1
pywin32                227
pywinusb               0.4.2
PyYAML                 5.4.1
requests               2.24.0
robotframework         3.1.2
ruamel-yaml-conda      0.15.100
scipy                  1.5.2
setuptools             52.0.0.post20210125
six                    1.15.0
sounddevice            0.4.1
soupsieve              2.2.1
tabulate               0.8.9
toml                   0.10.2
tornado                6.1
tox                    3.12.1
tox-conda              0.8.0
tqdm                   4.59.0
typing-extensions      3.7.4.3
tzlocal                2.1
urllib3                1.25.11
virtualenv             20.4.4
warehouse-client       1.0.4
wheel                  0.36.2
win-inet-pton          1.1.0
wincertstore           0.2
zipp                   3.4.1

There are some workarounds in tox-conda that rely tox internals which may have changed since tox 3.12.1.
Does upgrading tox help?

I see this in your env:

importlib-metadata        3.10.0           py37h9f7ea03_0
importlib_metadata        3.10.0               hd3eb1b0_0

I have no idea if it's related or normal but that looks weird.

Well spoted! Yes, not sure about it. I will have a look. But I dont think is related.

I just did the following:

  • Created an empty conda env
  • install with pip both tox and tox-conda. And only those.

Sadly, I got the same error.

Here the lists:

conda list

Name                    Version                   Build  Channel
appdirs                   1.4.4                    pypi_0    pypi
brotlipy                  0.7.0           py37hc431981_1003
ca-certificates           2021.4.13            h9f7ea03_1
certifi                   2020.12.5        py37h9f7ea03_0
cffi                      1.14.5           py37hb88044d_0
chardet                   4.0.0           py37h9f7ea03_1003
colorama                  0.4.4                    pypi_0    pypi
conda                     4.10.1           py37h9f7ea03_1
conda-package-handling    1.7.3            py37h559d222_1
console_shortcut          0.1.1                         4
cryptography              3.4.7            py37h2dc1c97_0
distlib                   0.3.1                    pypi_0    pypi
filelock                  3.0.12                   pypi_0    pypi
idna                      2.10               pyhd3eb1b0_0
importlib-metadata        4.0.1                    pypi_0    pypi
menuinst                  1.4.16           py37he774522_0
openssl                   1.1.1k               hc431981_0
packaging                 20.9                     pypi_0    pypi
pip                       21.0.1           py37h9f7ea03_0
pluggy                    0.13.1                   pypi_0    pypi
powershell_shortcut       0.0.1                         3
py                        1.10.0                   pypi_0    pypi
pycosat                   0.6.3            py37hc431981_0
pycparser                 2.20                       py_2
pyopenssl                 20.0.1             pyhd3eb1b0_1
pyparsing                 2.4.7                    pypi_0    pypi
pysocks                   1.7.1            py37h9f7ea03_0
python                    3.7.7                h81c818b_4
pywin32                   227              py37he774522_1
requests                  2.25.1             pyhd3eb1b0_0
ruamel_yaml               0.15.100         py37hc431981_0
setuptools                52.0.0           py37h9f7ea03_0
six                       1.15.0           py37h9f7ea03_0
sqlite                    3.35.4               hc431981_0
toml                      0.10.2                   pypi_0    pypi
tox                       3.23.0                   pypi_0    pypi
tox-conda                 0.8.0                    pypi_0    pypi
tqdm                      4.59.0             pyhd3eb1b0_1
typing-extensions         3.10.0.0                 pypi_0    pypi
urllib3                   1.26.4             pyhd3eb1b0_0
vc                        14.2                 h21ff451_1
virtualenv                20.4.4                   pypi_0    pypi
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.36.2             pyhd3eb1b0_0
win_inet_pton             1.1.0            py37h9f7ea03_0
wincertstore              0.2                      py37_0
xlwt                      1.3.0                    pypi_0    pypi
yaml                      0.2.5                he774522_0
zipp                      3.4.1                    pypi_0    pypi

pip list

Package                Version
---------------------- -------------------
appdirs                1.4.4
brotlipy               0.7.0
certifi                2020.12.5
cffi                   1.14.5
chardet                4.0.0
colorama               0.4.4
conda                  4.10.1
conda-package-handling 1.7.3
cryptography           3.4.7
distlib                0.3.1
filelock               3.0.12
idna                   2.10
importlib-metadata     4.0.1
menuinst               1.4.16
packaging              20.9
pip                    21.0.1
pluggy                 0.13.1
py                     1.10.0
pycosat                0.6.3
pycparser              2.20
pyOpenSSL              20.0.1
pyparsing              2.4.7
PySocks                1.7.1
pywin32                227
requests               2.25.1
ruamel-yaml-conda      0.15.100
setuptools             52.0.0.post20210125
six                    1.15.0
toml                   0.10.2
tox                    3.23.0
tox-conda              0.8.0
tqdm                   4.59.0
typing-extensions      3.10.0.0
urllib3                1.26.4
virtualenv             20.4.4
wheel                  0.36.2
win-inet-pton          1.1.0
wincertstore           0.2
xlwt                   1.3.0
zipp                   3.4.1

@fnahuelc could you try version 0.8.1?

No update from author: closing.