笔者在ubuntu16.04使用pip3安装uwsgi时报错了,报错信息如下
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: 没有那个文件或目录
compilation terminated.
In file included from plug×××/python/pyutils.c:1:0:
plug×××/python/uwsgi_python.h:2:20: fatal error: Python.h: 没有那个文件或目录
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 1 in /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.
最后解决方法如下
sudo apt-get ×××tall -y python3-dev