xlab-si / xopera-opera

xOpera orchestrator compliant with TOSCA YAML v1.3 in the making
https://xlab-si.github.io/xopera-docs/
Apache License 2.0
35 stars 14 forks source link

Missing wheel installation in venv #14

Closed pmundt closed 3 years ago

pmundt commented 4 years ago

The quickstart instructions in the README suggest to create a new venv and install opera there. Upon doing this, however, it appears that the wheel package is missing, resulting in the following errors:

Collecting pycparser (from cffi!=1.11.3,>=1.8->cryptography->ansible>=2.8->opera)
  Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)
    100% |████████████████████████████████| 163kB 3.4MB/s 
Building wheels for collected packages: ansible, pyyaml, pycparser
  Running setup.py bdist_wheel for ansible ... error
  Complete output from command /home/pmundt/devel/git/xopera-opera/.venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-feup_553/ansible/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/pip-wheel-9tqbp4ft --python-tag cp37:
  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 ansible
  Running setup.py clean for ansible
  Running setup.py bdist_wheel for pyyaml ... error
  Complete output from command /home/pmundt/devel/git/xopera-opera/.venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-feup_553/pyyaml/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/pip-wheel-i118gm02 --python-tag cp37:
  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 pyyaml
  Running setup.py clean for pyyaml
  Running setup.py bdist_wheel for pycparser ... error
  Complete output from command /home/pmundt/devel/git/xopera-opera/.venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-feup_553/pycparser/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/pip-wheel-a2cl_y9e --python-tag cp37:
  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 pycparser
  Running setup.py clean for pycparser
Failed to build ansible pyyaml pycparser
Installing collected packages: pyyaml, asn1crypto, pycparser, cffi, six, cryptography, MarkupSafe, jinja2, ansible, opera
  Running setup.py install for pyyaml ... done
  Running setup.py install for pycparser ... done
  Running setup.py install for ansible ... done
Successfully installed MarkupSafe-1.1.1 ansible-2.8.5 asn1crypto-0.24.0 cffi-1.12.3 cryptography-2.7 jinja2-2.10.1 opera-0.1.0 pycparser-2.19 pyyaml-5.1.2 six-1.12.0

Simply doing a pip install wheel beforehand is sufficient to fix this

sstanovnik commented 3 years ago

Thanks for reporting this, and sorry it took the next decade for one of us to get around ot it.

These errors are output red and say they're errors, but pip has a fallback mechanism to use setup.py install, so everything succeeds in the end. It might not really be user-friendly, but it's an (informed) user's choice to decide whether to install (what is basically) a blob or something they compile themselves. Adding this instruction into the quickstart would not increase the value of the user experience in proportion to the increase in perceived complexity, which is the most important thing in quickstarts, imo.

Closing as notabug.