[英]production server not importing stuff from venv?
在生產服務器中,我嘗試在venv apps目錄中導入另一個設置文件,但未導入,導致502 ...
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker
worker.init_process()
File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process
self.wsgi = self.app.wsgi()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi
self.callable = self.load()
File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load
return util.import_app(self.app_uri)
File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app
__import__(module)
File "/home/django/langalang/langalang/wsgi.py", line 15, in <module>
application = get_wsgi_application()
File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 14, in get_wsgi_application
django.setup()
File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 17, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/django/langalang/langalang/settings.py", line 16, in <module>
from spirit.settings import *
ImportError: No module named spirit.settings
但是該模塊顯然在那里,當我啟動生產服務器venv python解釋器並嘗試導入它時,它就可以了
是否正在添加GUNICORN開始腳本?
description "Gunicorn daemon for Django project"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]
# If the process quits unexpectadly trigger a respawn
respawn
setuid django
setgid django
chdir /home/django
exec gunicorn \
--name=project \
--pythonpath=project \
--bind=0.0.0.0:9000 \
--config /etc/gunicorn.d/gunicorn.py \
project.wsgi:application
它找不到您項目的Django設置。
確保您使用的是在venv中找到的python二進制文件而不是系統python來啟動應用程序。
確保您的項目包含在PYTHON_PATH
請參見: https : PYTHON_PATH
您可能要設置DJANGO_SETTINGS_MODULE
。 請參閱: https : //docs.djangoproject.com/zh-CN/1.9/topics/settings/#designating-the-settings
編輯:
最可能的問題是,您未在gunicorn命令中為您的項目傳遞正確的路徑。 根據項目的目錄結構,無法找到該項目的設置文件。 在您共享所使用的gunicorn命令之前,我無法驗證這一點,該命令會產生您在問題中共享的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.