I got an error,Failed building wheel for uwsgi.
My environment is Ubuntu,now I wanna install uwsgi,so I run command pip install uwsgi
.But error happens
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-9t06jm4_/uwsgi/setup.py", line 126, in <module>
distclass=uWSGIDistribution,
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/lib/python3.5/site-packages/wheel/bdist_wheel.py", line 215, in run
self.run_command('install')
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-build-9t06jm4_/uwsgi/setup.py", line 77, in run
conf = uc.uConf(get_profile())
File "/tmp/pip-build-9t06jm4_/uwsgi/uwsgiconfig.py", line 742, in __init__
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
----------------------------------------
Failed building wheel for uwsgi
Running setup.py clean for uwsgi
Failed to build uwsgi
Installing collected packages: uwsgi
Running setup.py install for uwsgi ... error
Complete output from command /home/ubuntu/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9t06jm4_/uwsgi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-oxbyg6gk-record/install-record.txt --single-version-externally-managed --compile:
/home/ubuntu/anaconda3/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'descriptions'
warnings.warn(msg)
running install
using profile: buildconf/default.ini
detected include path: ['/usr/include', '/usr/local/include']
Traceback (most recent call last):
File "/tmp/pip-build-9t06jm4_/uwsgi/uwsgiconfig.py", line 734, in __init__
gcc_version_components = gcc_version.split('.')
AttributeError: 'NoneType' object has no attribute 'split'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-9t06jm4_/uwsgi/setup.py", line 126, in <module>
distclass=uWSGIDistribution,
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/ubuntu/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-build-9t06jm4_/uwsgi/setup.py", line 77, in run
conf = uc.uConf(get_profile())
File "/tmp/pip-build-9t06jm4_/uwsgi/uwsgiconfig.py", line 742, in __init__
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
----------------------------------------
Command "/home/ubuntu/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9t06jm4_/uwsgi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-oxbyg6gk-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-9t06jm4_/uwsgi/
I run command sudo apt-get -y install python-dev,but same error happens.I really cannot understand why these error happens.How should I fix this?Why am I told I need C compiler in uWSGI?How should I fix this?
uWSGI doesn't work on bare Windows. (It might work on Cygwin, but that's probably not something you want to pursue.)
The uwsgi binary is placed in /usr/bin/uwsgi when installing uwsgi this way.
sock socket files in the /run/uwsgi directory. Check for the existence of the socket files within the /run/uwsgi directory by typing: sudo ls /run/uwsgi.
Your exception explicitly says what's wrong:
gcc_version_components = gcc_version.split('.')
AttributeError: 'NoneType' object has no attribute 'split'
and
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
So in general your system does not have c compiler installed (e.g. gcc). Try installing it. In Ubuntu it would be sudo apt-get install gcc
.
BTW. I think this question would better fit askubuntu page.
This is because there is no C compiler on the server. If you are using an instance on cloud like AWS or Digital Ocean gcc
is typically not installed. So you need to install it manually
sudo apt update
sudo apt install gcc
sudo pip install uwsgi # Sudo as the server requires root access
should solve the prolem
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With