笔者在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