agora
agora copied to clipboard
"invalid command 'bdist_wheel'" when building requirements for agora-server
This project looks awesome.
To build it, I'm using an environment I defined specifically for Agora by this Dockerfile. I start a container from that image, then enter it as root to create the wheel
group, and to add appuser
to sudo
and wheel
:
groupadd -r wheel
usermod -a -G wheel appuser
usermod -a -G sudo appuser
(I would fold those commands into the Dockerfile, but my attempts to build it that way are rejected with the following message.)
groupadd: Permission denied.
groupadd: cannot lock /etc/group; try again later.`
Then enter the same container as appuser
, and try the following:
cd ~/agora-server
python3 -m venv venv
. venv/bin/activate
pip3 install -r requirements.txt
./run-dev.sh
The pip3 install
step gives me these errors:
Building wheels for collected packages: Flask-Markdown, org-python, python-Levenshtein, sgmllib3k, unicode-slugify, uWSGI
Running setup.py bdist_wheel for Flask-Markdown ... error
Complete output from command /home/appuser/agora-server/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5r8b2lgm/Flask-Markdown/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(c
ompile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-hd9hgv8l --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 Flask-Markdown
Running setup.py clean for Flask-Markdown
Running setup.py bdist_wheel for org-python ... error
Complete output from command /home/appuser/agora-server/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5r8b2lgm/org-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compi
le(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-ynj7ra06 --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 org-python
Running setup.py clean for org-python
Running setup.py bdist_wheel for python-Levenshtein ... error
Complete output from command /home/appuser/agora-server/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5r8b2lgm/python-Levenshtein/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();ex
ec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-s0hhb0_c --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 python-Levenshtein
Running setup.py clean for python-Levenshtein
Running setup.py bdist_wheel for sgmllib3k ... error
Complete output from command /home/appuser/agora-server/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5r8b2lgm/sgmllib3k/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compil
e(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-dam7ohc_ --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 sgmllib3k
Running setup.py clean for sgmllib3k
Running setup.py bdist_wheel for unicode-slugify ... error
Complete output from command /home/appuser/agora-server/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5r8b2lgm/unicode-slugify/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-hnsm139i --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 unicode-slugify
Running setup.py clean for unicode-slugify
Running setup.py bdist_wheel for uWSGI ... error
Complete output from command /home/appuser/agora-server/venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5r8b2lgm/uWSGI/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(co
de, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-evqgw8p2 --python-tag cp37:
/usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'descriptions'
warnings.warn(msg)
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 uWSGI
Running setup.py clean for uWSGI
Failed to build Flask-Markdown org-python python-Levenshtein sgmllib3k unicode-slugify uWSGI
Installing collected packages: six, webencodings, pyparsing, packaging, bleach, cachetools, click, pytz, tzlocal, python-dateutil, regex, dateparser, sgmllib3k, feedparser, filetype, Werkzeug, MarkupSafe, Jinja2, itsdangerous, Flask, Flask-Caching, Flask-Cors, zipp,
importlib-metadata, Markdown, Flask-Markdown, WTForms, Flask-WTF, fuzzywuzzy, isodate, parso, jedi, typish, jsons, lxml, marko, mdx-truly-sane-lists, org-python, pylibmc, python-Levenshtein, PyYAML, rdflib, redis, text-unidecode, Unidecode, unicode-slugify, uWSGI
Running setup.py install for sgmllib3k ... done
Running setup.py install for Flask-Markdown ... done
Running setup.py install for org-python ... done
Running setup.py install for python-Levenshtein ... done
Running setup.py install for unicode-slugify ... done
Running setup.py install for uWSGI ... done
Successfully installed Flask-1.1.2 Flask-Caching-1.10.0 Flask-Cors-3.0.10 Flask-Markdown-0.3 Flask-WTF-0.14.3 Jinja2-2.11.2 Markdown-3.3.3 MarkupSafe-1.1.1 PyYAML-5.4.1 Unidecode-1.1.2 WTForms-2.3.3 Werkzeug-1.0.1 bleach-3.2.1 cachetools-4.2.0 click-7.1.2 dateparser-
1.0.0 feedparser-6.0.2 filetype-1.0.7 fuzzywuzzy-0.18.0 importlib-metadata-2.0.0 isodate-0.6.0 itsdangerous-1.1.0 jedi-0.17.2 jsons-1.4.0 lxml-4.6.2 marko-0.9.1 mdx-truly-sane-lists-1.2 org-python-0.3.2 packaging-20.4 parso-0.7.1 pylibmc-1.6.1 pyparsing-2.4.7 python-
Levenshtein-0.12.0 python-dateutil-2.8.1 pytz-2020.4 rdflib-5.0.0 redis-3.5.3 regex-2020.11.13 sgmllib3k-1.0.0 six-1.15.0 text-unidecode-1.3 typish-1.9.1 tzlocal-2.1 uWSGI-2.0.19.1 unicode-slugify-0.1.3 webencodings-0.5.1 zipp-3.4.0
After that, ./run-dev.sh
gives me the following errors, but I'm hoping they're a symptom of the above bdist_wheel
problem:
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
audited 23 packages in 1.188s
1 package is looking for funding
run `npm fund` for details
found 1 moderate severity vulnerability
run `npm audit fix` to fix them, or `npm audit` for details
🚨 /home/appuser/.npm/_npx/142/lib/node_modules/parcel-bundler/node_modules/process/browser.js: ENOENT: no such file or directory, open '/home/appuser/.npm/_npx/142/lib/node_modules/parcel-bundler/node_modules/process/browser.js'
Error: ENOENT: no such file or directory, open '/home/appuser/.npm/_npx/142/lib/node_modules/parcel-bundler/node_modules/process/browser.js'
* Serving Flask app "app" (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 671-437-713
2021-06-20 13:23:45,010 DEBUG rdflib Thread-1 : RDFLib Version: 5.0.0
2021-06-20 13:23:45,192 DEBUG rdflib Thread-1 : RDFLib Version: 5.0.0
you need pip install wheel
Ah. Then I suppose I should also remove the line that uses apt
to install python-wheel
?
I have python3-wheel
installed on my system, but I don't remember installing it. Getting agora configured is a bit of a pain, I wish I had documented the process more when I did it.
Hi, Jeffrey! Apologies for taking so long to respond -- I am a bit chaotic and sometimes things fall through the cracks when they slip from my attention before making an explicit note to come back to them, which happened here.
Thank you for opening this; also thank you Evan for responding much earlier :)
Since this issue was opened, I also created a Dockerfile that results in a simple but functional Agora (agora-server and agora-bridge running in the same container for now), thus apparently re-validating instructions.
The Dockerfile is here: https://github.com/flancian/agora/blob/master/Dockerfile
I can confirm that we had too many Debian-level dependencies in previous instructions and the only apt invocation that is needed here seems to be: apt-get install -y git python3 python3-pip python3-env
.
I'll make sure now the current README reflects this!
Jeffrey, are you running your own Agora or would you still be interested in doing so? I'm happy to provide assistance (with a better SLO :)).
Have a nice day!