我安装了http://www.reinbach.com/uwsgi-nginx-flask-virtualenv-mac-os-x.html链接的教程,在执行命令uwsgi --ini deploy/deploy.ini
时,终端说出现了导入错误:
将PYTHONHOME
设为/virtualenv/sample/
ImportError: No module named site
我已将PYTHONHOME
和PYTHONPATH
设为
export PYTHONPATH=$PYTHONPATH:/Library/Python/2.7/site-packages
export PYTHONHOME=$PYTHONHOME:/Library/Python/2.7
我无法弄清楚它有什么问题。
有人可以帮我解决这个问题吗?
如果有用,终端中的整个信息如下所示:
(env)ios-devmatoMacBook-Pro:hello ios_dev$ uwsgi --ini deploy/deploy.ini
[uWSGI] getting INI configuration from deploy/deploy.ini
*** Starting uWSGI 1.9.10 (64bit) on [Fri May 17 16:42:22 2013] ***
compiled with version: 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) on 17 May 2013 12:41:07
os: Darwin-11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-
1699.32.7~1/RELEASE_X86_64
nodename: ios-devmatoMacBook-Pro.local
machine: x86_64
clock source: unix
detected number of CPU cores: 4
current working directory: /Users/ios_dev/Desktop/sample/hello
detected binary path: /Users/ios_dev/Documents/little/little-web/little_web_dev/env/bin/uwsgi
your processes number limit is 709
your memory page size is 4096 bytes
detected max file descriptor number: 256
lock engine: OSX spinlocks
uwsgi socket 0 bound to TCP address 127.0.0.1:3031 fd 3
Python version: 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)]
将PYTHONHOME
设为/virtualenv/sample/
ImportError: No module named site
答案 0 :(得分:7)
以下是我在尝试本教程时遇到的相同错误消息(ImportError:No module named site):https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html。
sudo pip install uwsgi
home = / path / to / virtualenv
答案 1 :(得分:1)
我读了很多关于这个问题的文件,但没有得到答案。
巧合的是,我通过编辑uid和gid作为root来解决这个问题。
这似乎是权限问题。我不知道为什么,但它只是工作。请记住,以root身份运行产品环境是非常不安全的。
答案 2 :(得分:0)
1,激活您使用的虚拟
2,pip install uwsgi
这是关键动作,然后是
command -v wsgi
显示此
/virtual-path/bin/uwsgi
3,使用当前用户运行uwsgi
,因为其他用户未激活virtualenv
答案 3 :(得分:0)
我是我不使用virtualEnv的情况。仅使用django + ngnix。我的解决方案是将HOME变量删除到* .ini配置文件中:
sudo nano /etc/uwsgi/sites/c_app.ini
[uwsgi]
project = c_app
uid = ubuntu
base = /home/%(uid)
chdir = %(base)/%(project)
**home = %(base)/%(project)** (REMOVED IT)
module = %(project).wsgi:application
master = true
processes = 5
socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true
然后它起作用。