总的来说,我希望具有nginx,uWGI和Python 3(virtualenv)的Ubuntu服务器启动一些项目。

我确实遵循了可以在各个地方找到的建议。当尝试使用sudo pip install uwsgi安装uWSGI时,我确实观察到以下错误:

plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory

我确实在2012年9月发现了[J.F. Sebastian的评论] [1]关于$ sudo apt-get install python2.7-dev的必要性-这是针对python 2.7的。因此,我对Python 3.4做了类似的事情(似乎成功了)。但是,我仍然观察到该错误。

尝试搜索Python.h时,我可以找到:
$ locate Python.h
/usr/include/python3.4m/Python.h

我还应该设置什么来安装uWSGI? (即使我很早就在Unix上工作,我对Ubuntu Linux还是相当陌生的。)

更新:

遵循以下注释中jwalker的建议,我从激活的virtualenv内执行了pip install uwsgi,没有sudo。但是,安装程序无法在venv目录中创建子目录(例如build)。我尝试为venv设置chmod go+w,但没有帮助。我承认我对virtualenv和pip一无所知,而且我的Unix知识还是有点生锈:
  ...
  File "/var/www/hec_project/hec_venv/lib/python3.4/site-packages/pip/req.py", line 218, in build_location
    _make_build_dir(build_dir)
  File "/var/www/hec_project/hec_venv/lib/python3.4/site-packages/pip/req.py", line 1527, in _make_build_dir
    os.makedirs(build_dir)
  File "/var/www/hec_project/hec_venv/lib/python3.4/os.py", line 237, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/var/www/hec_project/hec_venv/build'

Storing debug log for failure in /home/hecadmin/.pip/pip.log

最佳答案

安装Python 3:

sudo apt-get install python3

安装Python 3 header 以从源代码构建uWSGI:
sudo apt-get install python3-dev

在当前目录的venv子目录中创建Python 3 virtualenv(如果当前目录具有特权,则在命令前添加sudo):
virtualenv -p python3 venv

激活venv作为pip的目标(.source的快捷方式):
. venv/bin/activate

最后,安装uWSGI(如果在特权目录中,则再次安装sudo):
pip install uwsgi

关于ubuntu - 无法在具有Python 3.4的Ubuntu 14.04上安装uWSGI(路径?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24822829/

10-13 07:55
查看更多