使用uwsgi时遇到conda env问题

问题描述 投票:0回答:1

我正在尝试在Ubuntu 16.04.6 LTS上使用anaconda python在uwsgi上运行django服务器。我已经创建了一个conda环境并安装了所有依赖项。

如果我在dev(即python manage.py runserver)中运行django服务器,它将正常工作。但是,当我用uwsgi运行它时,出现“ ImportError:无法导入名称_remove_dead_weakref stackoverflow”

错误:

Traceback (most recent call last):
  File "wsgi.py", line 11, in <module>
    from django.core.wsgi import get_wsgi_application
  File "/opt/myproj/venvs/api/lib/python2.7/site-packages/django/core/wsgi.py", line 2, in <module>
    from django.core.handlers.wsgi import WSGIHandler
  File "/opt/myproj/venvs/api/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 5, in <module>
    import logging
  File "/opt/myproj/venvs/api/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, collections
  File "/opt/myproj/venvs/api/lib/python2.7/weakref.py", line 13, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref
unable to load app 0 (mountpoint='') (callable not found or import error)

我已经设置了anaconda的路径

$ echo $PATH
/home/baji/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/baji/anaconda2/bin

$ echo $PYTHONPATH
/opt/myproj/venvs/api/bin/python

我正在尝试的uwsgi命令是

$ /opt/myproj/venvs/api/bin/uwsgi -H /opt/myproj/venvs/api/ -i /opt/myproj/api/wsgi.ini

这是wsgi.ini文件

[uwsgi]
module = wsgi:application
master = true
processes = 1
chmod-socket = 666
socket = /tmp/api.sock
check-static = ./static
wsgi-file = wsgi.py
touch-reload = /tmp/api.txt
buffer-size = 65535
post-buffering = 1
listen = 65535
vacuum = true
max-requests = 1000
stats = 3032
stats-http = true

非常感谢您的帮助。

python django linux anaconda uwsgi
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.