BUG: six package installation
Bug
Error description
Error arises when installing a fresh MLAir version in a new created venv.
Error message
>>> pip install -r requirements.txt
Collecting Cython==0.29.15
Using cached Cython-0.29.15-cp36-cp36m-manylinux1_x86_64.whl (2.1 MB)
Collecting absl-py==0.9.0
Using cached absl-py-0.9.0.tar.gz (104 kB)
ERROR: Command errored out with exit status 1:
command: /home/l.leufen/demystify-temporal-components/venv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-u5lu6_om/absl-py/setup.py'"'"'; __file__='"'"'/tmp/pip-install-u5lu6_om/absl-py/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-yeg778dh
cwd: /tmp/pip-install-u5lu6_om/absl-py/
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/l.leufen/demystify-temporal-components/venv/lib64/python3.6/site-packages/setuptools/__init__.py", line 15, in <module>
from six import PY3, string_types
ModuleNotFoundError: No module named 'six'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
First guess on error origin
six
is included in requirements file but after the package that raises the error. six
must be installed first.
Error origin
See above, installation order is not working.
Solution
Moving six
package at the top of requirements will not solve the issue, because pip first checks dependencies and starts afterwards to install packages. Due to this ordering, the error will still be there. Therefore, add a statement in the installation instructions that some packages can cause dependency problems. Such packages (e.g. the known six
) need to be installed first.
Known problems:
-
six
-
appdirs
-
packaging
-
ordered_set