multiscale / muscle3

The third major version of the MUltiScale Coupling Library and Environment
Apache License 2.0
25 stars 13 forks source link

Wheel required for installing the tutorial example #27

Closed diregoblin closed 4 years ago

diregoblin commented 4 years ago

Following the installation tutorial for the python example produces some errors on Debian 9 machine, python 3.5.3 from python3 package, no previous python modules.

~/muscle3_source/muscle3-0.2.0/docs/source/examples/python$ pip3 install -r requirements.txt 

...
Building wheels for collected packages: sobol-seq
  Running setup.py bdist_wheel for sobol-seq ... error
  Complete output from command /home/asvitenkov/muscle3_venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ab0shq9s/sobol-seq/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpr5trja_epip-wheel- --python-tag cp35:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for sobol-seq
  Running setup.py clean for sobol-seq
Failed to build sobol-seq
...

Running pip3 install wheel and rerunning the above command fixes this issue. I suggest adding wheel to the requirements.txt, that should do it.

LourensVeen commented 4 years ago

Hmm, interesting. This may be an issue with the sobol-seq package I guess, but I'm not sure. Probably it doesn't provide wheels on PyPI, but does require them. Adding wheel to the requirements sounds like the correct workaround, and since the original package seems somewhat unmaintained, I'll just add it there. Thanks!

LourensVeen commented 4 years ago

Ah, it seems that Pip does not guarantee that packages are installed in the listed order (see https://github.com/pypa/pip/issues/3480). Since there is no dependency on wheel in sobol_seq, I don't think that adding it is a reliable fix, if it works at all. So I'll revert that, and add a note to the documentation instead.