2011-11-23 36 views
7

मैं एक अनुप्रयोग subscribe कहा जाता है के साथ एक Django परियोजना है। रूट urls.py में मैं subscribe के urls.py से शामिल का उपयोग करता हूं।Django uwsgi आयात त्रुटि

मैं INSTALLED_APPSsubscribe करने के लिए और में subscribe के urls.py मैं अपने विचारों फोन के लिए subscribe.views.<name> का उपयोग डाल दिया। जब सर्वर python manage.py runserver के रूप में चलाता है तो स्थानीय रूप से सभी ठीक काम करते हैं। लेकिन जब वर्चुअलएन्व के साथ सर्वर nginx + uwsgi पर चलता है, तो मुझे ImportError: No module named subscribe मिल गया है। जब मैं subscribeproject.subscribeINSTALLED_APPS में subscribe के urls.pysubscribe.views.<name> से project.subscribe.views.<name> बदलता है तो सभी ठीक काम करता है।

uwsgi config:

[uwsgi] 
socket = 127.0.0.1:9003 
workers = 2 
master = true 
virtualenv = /home/user/python 
chdir = /home/user 
env = DJANGO_SETTINGS_MODULE=project.settings 
module = django.core.handlers.wsgi:WSGIHandler() 
daemonize = /home/user/uwsgi.log 

मैं निरपेक्ष पथ आयात प्रयोग क्यों करना चाहिए और मैं इसे कैसे nginx + virtualenv साथ uwsgi पर रिश्तेदार वापस करने के लिए बदल सकते हैं?

+0

अपने अजगर रास्ते पर 'project' जोड़ने या तो virtualenv स्टार्टअप स्क्रिप्ट के माध्यम से या अन्यथा –

+0

मेरी स्टार्टअप स्क्रिप्ट पहले से ही शामिल हैं यह: sys.path.insert (0, '/ घर/उपयोगकर्ता/परियोजना') पैकेज और के रूप में __init__.py साथ – ZedXter

+0

Django खतरों फ़ोल्डरों यो आपने अपनी 'wsgi' स्क्रिप्ट पर रूट निर्देशिका के रूप में'/home/user/project' सेट अप किया है, इसलिए इसे 'python manage.py runerver' काम के रूप में काम करना चाहिए। –

उत्तर

7

आपका uwsgi config pythonpath=/path/where/lives/settings.py/ निर्देश शामिल करना चाहिए, ताकि अजगर दुभाषिया जहां ऐप्स को खोजने के लिए पता चल जाएगा।

uwsgi config विकल्पों के बारे में अधिक जानकारी प्राप्त करें:

+0

अपने जवाब और बहुत उपयोगी लिंक के लिए धन्यवाद! – ZedXter

+0

वायु सेना इस बात को समझने की कोशिश कर रहे अनगिनत घंटे खर्च करते हुए, आपके उत्तर की शब्दावली में मदद मिली। बहुत बहुत धन्यवाद :) – Pztar

संबंधित मुद्दे