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
Edited by Ghost User