Flask+Nginx+uWSGI:importorror:没有名为si的模块

2024-05-14 06:34:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我是作为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

我已将PYTHONHOMEPYTHONPATH设置为

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

Tags: sampledevbuildnumbervirtualenvonsiteuwsgi
3条回答

1、激活你使用的虚拟

2、pip安装uwsgi

这是关键动作,然后是

command -v wsgi

显示这个

/virtual-path/bin/uwsgi

3.使用当前用户运行uwsgi,因为其他用户未激活virtualenv

我读了很多关于这个问题的文件,但没有得到答案。

巧合的是,我通过编辑uid和gid作为根来解决这个问题。

似乎是权限问题。我不知道为什么,但它只是工作。记住,以根用户身份运行产品环境是非常不安全的。

下面是我如何解决在尝试Django and NGINX tutorial — uWSGI 2.0 documentation时得到的相同错误消息(ImportError: No module named site)

停用virtualenv:

deactivate

在系统范围内安装uWSGI(如果尚未在系统范围内安装)

sudo pip install uwsgi

编辑uwsgi.ini文件。我评论了这行:

home = /path/to/virtualenv

运行uWSGI --ini mysite_uwsgi.ini

相关问题 更多 >