gpt4 book ai didi

virtualenv - uWSGI + virtualenv 'No module named site'

转载 作者:行者123 更新时间:2023-12-04 01:15:27 25 4
gpt4 key购买 nike

所以这似乎是这个设置的一个非常普遍的问题,但我找不到任何适用于 SO 的解决方案。我已经设置了一个非常新的 Ubuntu 15.04 服务器,然后安装了 nginx、virtualenv(和 -wrapper)和 uWSGI(通过 apt-get,所以是全局的,而不是在 virtualenv 中)。

我的 virtualenv 位于 /root/Env/example .在 virtualenv 中,我安装了 Django,然后在/srv/www/example/app 运行了 Django 的 startproject带有项目名称的命令 example ,所以我有一个模糊的结构:

-root
-Env
-example
-bin
-lib
-srv
-www
-example
-app
-example
manage.py
-example
wsgi.py
...

我的 uWSGI 的 example.ini 文件如下所示:
[uwsgi]
project = example

plugin = python

chdir = /srv/www/example/app/example
home = /root/Env/example
module = example.wsgi:application

master = true
processes = 5

socket = /run/uwsgi/app/example/example.socket
chmod-socket = 664
uid = www-data
gid = www-data
vacuum = true

但无论我是否通过 uwsgi --ini /etc/uwsgi/apps-enabled/example.ini 运行它或通过守护进程,我得到完全相同的错误:
Python version: 2.7.9 (default, Apr  2 2015, 15:37:21)  [GCC 4.9.2]
Set PythonHome to /root/Env/example
ImportError: No module named site

我应该注意到 Django 项目通过内置的开发服务器运行 ./manage.py runserver ,以及当我删除 home = /root/Env/example 时这东西有效(但显然是使用全局 Python 和 Django 而不是 virtualenv 版本,这意味着它对于正确的 virtualenv 设置毫无用处)。

谁能看到一些我没有看到的明显路径错误?据我所知, home根据我的目录结构以及 ini 中的其他所有内容都是完全正确的,那么为什么它不能与这个 ImportError 一起使用?

最佳答案

就我而言,我看到这个问题是因为我尝试运行的 django 应用程序是用 python 3 编写的,而 uwsgi 是为 python 2 配置的。我通过以下方式解决了这个问题:

  • 重新编译 uwsgi 以支持 python 2 和 python 3 应用程序
    (我关注了 this 指南)
  • 将此添加到我的 mydjangoproject_uwsgi.ini:
  • plugins         = python35 # or whatever you specified while compiling uwsgi 

    对于使用 Django 的其他人,您还应该确保正确指定以下内容:
    # Django dir that contains manage.py
    chdir = /var/www/project/myprojectname
    # Django wsgi (myprojectname is the name of your top-level project)
    module = myprojectname.wsgi:application
    # the virtualenv you are using (full path)
    home = /home/ubuntu/Env/mydjangovenv
    plugins = python35

    关于virtualenv - uWSGI + virtualenv 'No module named site',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447963/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com