The author reported an error when using pip3 to install uwsgi on ubuntu16.04. The error message is as follows
leslie@leslie-TWS:~$ sudo pip3 ×××tall uwsgi
The directory '/home/leslie/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/leslie/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting uwsgi
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/1e/3dcca007f974fe4eb369bf1b8629d5e342bb3055e2001b2e5340aaefae7a/uwsgi-2.0.18.tar.gz(801kB)100%|████████████████████████████████| 808kB 11.6MB/s
Installing collected packages: uwsgi
Running setup.py ×××tall for uwsgi ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-4h91sq06/uwsgi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" ×××tall --record /tmp/pip-qrj8ag9k-record/×××tall-record.txt --single-version-externally-managed --compile:/usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option:'descriptions'
warnings.warn(msg)
running ×××tall
using profile: buildconf/default.ini
detected include path:['/usr/lib/gcc/x86_64-linux-gnu/5/include','/usr/local/include','/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed','/usr/include/x86_64-linux-gnu','/usr/include']
Patching "bin_name" to properly ×××tall_scripts dir
detected CPU cores:4
configured CFLAGS:-O2 -I.-Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64-Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY -DUWSGI_VERSION="\"2.0.18\""-DUWSGI_VERSION_BASE="2"-DUWSGI_VERSION_MAJOR="0"-DUWSGI_VERSION_MINOR="18"-DUWSGI_VERSION_REVISION="0"-DUWSGI_VERSION_CUSTOM="\"\""-DUWSGI_YAML -DUWSGI_PLUGIN_DIR="\".\""-DUWSGI_DECLARE_EMBEDDED_PLUGINS="UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(ugreen);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);"-DUWSGI_LOAD_EMBEDDED_PLUGINS="ULEP(python);ULEP(gevent);ULEP(ping);ULEP(cache);ULEP(nagios);ULEP(rrdtool);ULEP(carbon);ULEP(rpc);ULEP(corerouter);ULEP(fastrouter);ULEP(http);ULEP(ugreen);ULEP(signal);ULEP(syslog);ULEP(rsyslog);ULEP(logsocket);ULEP(router_uwsgi);ULEP(router_redirect);ULEP(router_basicauth);ULEP(zergpool);ULEP(redislog);ULEP(mongodblog);ULEP(router_rewrite);ULEP(router_http);ULEP(logfile);ULEP(router_cache);ULEP(rawrouter);ULEP(router_static);ULEP(sslrouter);ULEP(spooler);ULEP(cheaper_busyness);ULEP(symcall);ULEP(transformation_tofile);ULEP(transformation_gzip);ULEP(transformation_chunked);ULEP(transformation_offload);ULEP(router_memcached);ULEP(router_redis);ULEP(router_hash);ULEP(router_expires);ULEP(router_metrics);ULEP(transformation_template);ULEP(stats_pusher_socket);"*** uWSGI compiling server core ***[thread 1][x86_64-linux-gnu-gcc -pthread] core/utils.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/protocol.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/socket.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/logging.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/master.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/master_utils.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/emperor.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/notify.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/mule.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/subscription.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/stats.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/sendfile.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/async.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/master_checks.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/fifo.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/offload.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/io.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/static.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/websockets.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/spooler.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/snmp.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/exceptions.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/config.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/setup_utils.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/clock.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/init.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/buffer.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/reader.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/writer.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/alarm.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/cron.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/hooks.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/plug×××.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/lock.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/cache.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/daemons.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/errors.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/hash.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/master_events.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/chunked.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/queue.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/event.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/signal.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/strings.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/progress.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/timebomb.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/ini.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/fsmon.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/mount.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/metrics.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/plug×××_builder.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/sharedarea.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/rpc.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/gateway.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/loop.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/cookie.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/querystring.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/rb_timers.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] core/transformations.o
[ thread 3][x86_64-linux-gnu-gcc -pthread] core/uwsgi.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] proto/base.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] proto/uwsgi.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] proto/http.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] proto/fastcgi.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] proto/scgi.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] proto/puwsgi.o
[ thread 2][x86_64-linux-gnu-gcc -pthread] lib/linux_ns.o
[ thread 1][x86_64-linux-gnu-gcc -pthread] core/yaml.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/dot_h.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] core/config_py.o
*** uWSGI compiling embedded plug××× ***[thread 2][x86_64-linux-gnu-gcc -pthread] plug×××/python/pyutils.o
[ thread 0][x86_64-linux-gnu-gcc -pthread] plug×××/python/python_plugin.o
In file included from plug×××/python/python_plugin.c:1:0:
plug×××/python/uwsgi_python.h:2:20: fatal error: Python.h:No such file or directory
compilation terminated.
In file included from plug×××/python/pyutils.c:1:0:
plug×××/python/uwsgi_python.h:2:20: fatal error: Python.h:No such file or directory
compilation terminated.----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-4h91sq06/uwsgi/setup.py';exec(compile(getattr(tokenize,'open', open)(__file__).read().replace('\r\n','\n'), __file__,'exec'))" ×××tall --record /tmp/pip-qrj8ag9k-record/×××tall-record.txt --single-version-externally-managed --compile" failed with error code 1in/tmp/pip-build-4h91sq06/uwsgi/
You are using pip version 8.1.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip ×××tall --upgrade pip' command.
leslie@leslie-TWS:~$ sudo pip3 un×××tall uwsgi
The directory '/home/leslie/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Cannot un×××tall requirement uwsgi, not ×××talled
The directory '/home/leslie/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
You are using pip version 8.1.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip ×××tall --upgrade pip' command.
The final solution is as follows
sudo apt-get ×××tall -y python3-dev
Recommended Posts