Я пытаюсь запустить django сервер с uwsgi, используя anaconda python на Ubuntu 16.04.6 LTS. Я создал среду conda и установил все зависимости.
Если я запускаю сервер django в dev (то есть python manage.py runserver), он работает без каких-либо проблем. Но когда я запускаю его с помощью 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
Любая помощь очень важна.