uWSGI + virtualenv“没有名为站点的模块”

2024-01-01

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

我的 virtualenv 位于/root/Env/example。在 virtualenv 内部,我安装了 Django,然后在 /srv/www/example/app 运行 Djangostartproject带有项目名称的命令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 配置的。我通过以下方式解决了问题:

  1. 重新编译 uwsgi 以支持 python 2 和 python 3 应用程序 (我跟着this https://bradenmacdonald.com/blog/2015/uwsgi-emperor-multiple-python guide)
  2. 将其添加到我的 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uWSGI + virtualenv“没有名为站点的模块” 的相关文章

随机推荐

  • DataAdapter.Update() 性能

    我有一个相对简单的例程 它查看媒体文件的数据库条目 计算宽度 高度和文件大小 并将它们写回到数据库中 数据库是 SQLite 使用 System Data SQLite 库 处理约 4000 行 我将所有行加载到 ADO 表中 使用新值更新
  • GitLab sidekiq 测试失败

    我按照此处的说明进行操作 https github com gitlabhq gitlabhq blob 4 1 stable doc install databases md https github com gitlabhq gitla
  • 维护包含其他克隆 git 存储库的 git 存储库

    我正在使用一个网站Sharelatex github https github com sharelatex sharelatex但它包含用于构建主项目的其他存储库 我克隆了主存储库并做了grunt install用于下载这些存储库 但问题
  • Shiny R 反应值内存泄漏

    我试图理解为什么骑自行车时使用闪亮的reactivevalues导致它使用更多内存 上下文是一个用户界面 可以选择自动执行给定的策略 下面的例子基于圣彼得堡悖论 我意识到将整个自动化过程放在单独的函数文件中可能是更好的做法 但我想了解为什么
  • 使用 ExtJS 实现富互联网应用:我应该选择哪个方向?

    我需要一些帮助来选择正确的 RIA 方式 我确实想使用 javascript 小部件库 可能是 ExtJS 但我不确定我是否应该尝试通过 Javascript 进行编程ExtGWT http extjs com products gxt 或
  • PHP 简单 HTML DOM 解析器消亡

    我使用简单的 HTML DOM 解析器来屏幕抓取带有一堆子页面的页面 由于某种原因 它可以很好地解析前 40 个子页面 但当涉及到第 41 个子页面时 它会毫无错误地终止 我已经做了这个测试页 http snuzzer dk pub shd
  • 如何将引发异常的函数转换为返回 Either 的函数?

    假设我有一些引发异常的函数 我正在包装它们以返回Either Throwable
  • 是否有用于利用对称性的对称矩阵乘法的 BLAS 或 LAPACK 子例程?

    我希望有人能帮助我 我正在寻找专门用于两个大且相同的对称矩阵的矩阵乘法的 BLAS 或 LAPACK 子例程 到目前为止 我已经测试了 Dyrk 和 dgemm 例程 两者都非常慢 我想知道是否有特定于对称矩阵平方的例程 任何帮助将不胜感激
  • Microsoft PDC (2009) 中的哪些新闻/谈话将对您作为程序员产生最大影响?

    我已将其设为社区维基 作为一名主要使用 NET的程序员 微软开发平台的功能方向对我的功能工作有很大的影响 最近的 PDC 让我们深入了解了 Microsoft 的开发平台的发展方向 那么您认为 PDC 的哪些内容会对you作为一名程序员 您
  • DataFrame 单元格换行符

    问题很简单 如何防止打印数据框单元格中的换行Jupyter笔记本 不在终端中 我在这里没有看到任何答案 比如使用的答案pd get option display width pd get option display max colwidt
  • gwtbootstrap 始终适用于所有元素

    我想用GWT 引导程序 http gwtbootstrap github io 对于我的应用程序 所以我将 jar 添加到类路径中并在 app gwt xml 中继承它 并且到目前为止它正在工作 我是 Bootstrap 的新手 到目前为止
  • pgAdmin3 连接问题

    我最近正在使用 VMware Workstation 8 设置并运行 Windows 2008 r2 服务器 我正在运行带有 Postgresql 9 1 的 Centos 6 2 虚拟 Linux 盒子 本地一切似乎都正常 我可以通过桥接
  • 无法在 Visual Studio 上加载 ClassDiagram.cd。 “不支持 URI 格式”

    当我尝试打开我的类图时asp net 网络表单项目我收到以下错误 类图 cd 文件已生成 但我无法打开它们 I do have some classes that use the URI class but i don t really t
  • 将 freq 字符串转换为 pandas 中的 DateOffset

    在 pandas 文档中 当谈到诸如 W 或 W SUN 之类的频率字符串时 可以阅读 在幕后 这些频率字符串正在被转换为 pandas DateOffset 的实例 那么 如何在给定字符串的情况下获取 DateOffset 的实例 最终想
  • 如何使用自定义ip地址浏览网页c#/.net

    我正在尝试使用自定义 用户提供的 IP 地址浏览网页 但它不起作用 webBrowser1 成功加载网页 但它没有使用自定义 IP 地址 而是使用真实 IP 地址加载页面 请告诉我如何成功地完成这项工作 这是我的代码 private voi
  • 如何将图像放置在链接内?

    我正在尝试一些非常简单的东西 在链接内我希望有文本和图像 link to NVidia Graphics inventory url class lato do image tag list highlighter png 我希望输出是这样
  • 在循环中使用 SQLAlchemy Session 对象提交数据时出现问题

    我在使用 SQLalchemy 时遇到数据库提交问题 这是我的场景 我有一个要添加到表中的记录列表 将记录添加到表中后 我需要获取插入的记录 Id 并再次插入到第二个表中 我正在单个会话下执行这些操作 下面给出了代码结构 因为我不允许给出代
  • Angular 服务调用另一个服务

    我正在制作一个简单的 Angular 应用程序来管理收入 收入来自我存储在 json 中的项目 用于测试目的 所以 基本上 我使用 Angular 中的一个服务来获取这个 json 并且我希望有另一个服务来调用项目服务并过滤每个项目的收入
  • 未找到符号:引用自:预期位于:平面命名空间 | macOS 大苏尔

    我一直在尝试使用以下方式导入模块 import pyexiv2 这会产生一个错误 Aruns MacBook Air scripts arun python3 99 new camera py crop field Traceback mo
  • uWSGI + virtualenv“没有名为站点的模块”

    所以这似乎是这个设置的一个非常常见的问题 但我找不到任何适用于SO的解决方案 我已经设置了一个非常新的 Ubuntu 15 04 服务器 然后安装了 nginx virtualenv 和 wrapper 和 uWSGI 通过 apt get