Я запускаю проект, используя django
, nginx
и gunicorn
, который отлично работает на локальной машине.Когда я переместил проект на сервер и установил все, я протестировал проект, используя python3 manage.py runserver
, и он отлично работает.
Но когда я пытаюсь запустить его, используя gunicorn
, я столкнулся с этой ошибкой
ImportError: Нет модуля с именем django_jalali
Полная команда gunicorn
:
gunicorn iteachyou.wsgi:application --bind 127.0.0.1:8003
Я установил этот пакет, и нет никаких проблем сэто.
Существует почти аналогичный вопрос с этой проблемой здесь , но это относительно wsgi
.Я думаю, это немного странно.
Вот полный ответ:
[2018-05-13 00:18:34 +0000] [10893] [INFO] Starting gunicorn 19.6.0
[2018-05-13 00:18:34 +0000] [10893] [INFO] Listening at: http://127.0.0.1:8003 (10893)
[2018-05-13 00:18:34 +0000] [10893] [INFO] Using worker: sync
[2018-05-13 00:18:34 +0000] [10897] [INFO] Booting worker with pid: 10897
[2018-05-13 08:48:34 +0000] [10897] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 557, in spawn_worker
worker.init_process()
File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 126, in init_process
self.load_wsgi()
File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 136, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 384, in import_app
__import__(module)
File "/var/www/html/iteachyou/iteachyou/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup(set_prefix=False)
File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 94, in create
module = import_module(entry)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named django_jalali
[2018-05-13 08:48:34 +0000] [10897] [INFO] Worker exiting (pid: 10897)
[2018-05-13 00:18:34 +0000] [10893] [INFO] Shutting down: Master
[2018-05-13 00:18:34 +0000] [10893] [INFO] Reason: Worker failed to boot.
В случае необходимости вот что произошло, когда я установил pip3 install django-jalali
:
Collecting django_jalali
Downloading https://files.pythonhosted.org/packages/a4/91/8d4a89be62d22fcb3a1b7c4c953e532e5f519e66cfec2aadbfd030efb413/django-jalali-3.0.2.tar.gz (200kB)
100% |████████████████████████████████| 204kB 1.2MB/s
Collecting django>=2.0 (from django_jalali)
Downloading https://files.pythonhosted.org/packages/23/91/2245462e57798e9251de87c88b2b8f996d10ddcb68206a8a020561ef7bd3/Django-2.0.5-py3-none-any.whl (7.1MB)
100% |████████████████████████████████| 7.1MB 125kB/s
Collecting jdatetime>=2.0 (from django_jalali)
Downloading https://files.pythonhosted.org/packages/97/86/51bb0861c702f790abee2894b30d22aa92375523ba8eef165f65066bfb33/jdatetime-2.0.0.tar.gz
Collecting pytz (from django>=2.0->django_jalali)
Downloading https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 1.5MB/s
Building wheels for collected packages: django-jalali, jdatetime
Running setup.py bdist_wheel for django-jalali ... done
Stored in directory: /root/.cache/pip/wheels/64/5a/7b/239e6e9f55125ebdb1795e7ad5be78fe3a3d8a66156a744ee2
Running setup.py bdist_wheel for jdatetime ... done
Stored in directory: /root/.cache/pip/wheels/d6/74/93/28caed166abb6bd4194f1802570987c994f6655bb828242c0e
Successfully built django-jalali jdatetime
Installing collected packages: pytz, django, jdatetime, django-jalali
Successfully installed django-2.0.5 django-jalali-3.0.2 jdatetime-2.0.0 pytz-2018.4
ОБНОВЛЕНИЕ
Я подтвердил, что gunicorn
использует python2.7
.
Я попытался удалить, а затем установить его снова.Но он все еще использует python2.7
.
Как мне сделать так, чтобы вместо него использовалось python3
?
ОБНОВЛЕНИЕ 2
Я попытался удалить django2 а потом gunicorn и установка всего свежего.Но gunicorn все еще использует python2.7.