2010-04-06 19 views
5

के साथ कॉन्फ़िगरेशन समस्याएं मुझे django को apache 2.2 पर mod_wsgi के साथ काम करने में समस्याएं मिली हैं। Django भी स्थापित है और mod_wsgi भी है। पथ तक पहुंचने पर मैं 404 पेज भी देख सकता हूं और मैं django व्यवस्थापक में लॉगिन कर सकता हूं। लेकिन मैं टैगिंग मॉड्यूल मैं निम्नलिखित त्रुटि मिलती है स्थापित करना चाहते हैं:django और mod_wsgi

Traceback (most recent call last): 
    File "setup.py", line 49, in <module> 
    version_tuple = __import__('tagging').VERSION 
    File "/home/jim/django-tagging/tagging/__init__.py", line 3, in <module> 
    from tagging.managers import ModelTaggedItemManager, TagDescriptor 
    File "/home/jim/django-tagging/tagging/managers.py", line 5, in <module> 
    from django.contrib.contenttypes.models import ContentType 
    File "/usr/lib/python2.5/site-packages/django/contrib/contenttypes/models.py", line 1, in <module> 
    from django.db import models 
    File "/usr/lib/python2.5/site-packages/django/db/__init__.py", line 10, in <module> 
    if not settings.DATABASE_ENGINE: 
    File "/usr/lib/python2.5/site-packages/django/utils/functional.py", line 269, in __getattr__ 
    self._setup() 
    File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 40, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 75, in __init__ 
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e) 
ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named mysite.settings 

मेरे httpd.conf:

Alias /media/ /home/jim/django/mysite/media/ 

<Directory /home/jim/django/mysite/media> 
    Order deny,allow 
    Allow from all 
</Directory> 

Alias /admin/media/ "/usr/lib/python2.5/site-packages/django/contrib/admin/media/" 

<Directory "/usr/lib/python2.5/site-packages/django/contrib/admin/media/"> 
    Order allow,deny 
    Allow from all 
</Directory> 

WSGIScriptAlias /dj /home/jim/django/mysite/apache/django.wsgi 

<Directory /home/jim/django/mysite/apache> 
    Order deny,allow 
    Allow from all 
</Directory> 

मेरे django.wsgi:

import sys, os 

sys.path.append('/home/jim/django') 
sys.path.append('/home/jim/django/mysite') 

os.chdir('/home/jim/django/mysite') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

मैं करने की कोशिश इसे कुछ दिनों से काम करने के लिए प्राप्त करें और यहां पर कई ब्लॉग और उत्तर पढ़े हैं लेकिन कुछ भी काम नहीं किया है।

संपादित करें:

अब मैं this blog post साथ यह कोशिश की और मेरी WSGI फ़ाइल अब इस तरह दिखता है:

import sys 
sys.path.insert(0, '/home/jim/django/mysite') 
sys.path.insert(0, '/home/jim/django') 

import settings 

import django.core.management 
django.core.management.setup_environ(settings) 
utility = django.core.management.ManagementUtility() 
command = utility.fetch_command('runserver') 

command.validate() 

import django.conf 
import django.utils 

django.utils.translation.activate(django.conf.settings.LANGUAGE_CODE) 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

व्यवस्थापक अभी भी काम कर रहा है, लेकिन जब मैं कोशिश मैं एक ही त्रुटि मिल रही है टैगिंग मॉड्यूल स्थापित करने के लिए।

+0

क्या आप हमें settings.py के लिए एक पूर्ण पथ दिखा सकते हैं? –

+0

@Ruslan Spivak /home/jim/django/mysite/settings.py – Jimbo

उत्तर

4

पहले,

  • अपने व्यवस्थापक काम करता है के बाद से, WSGI साथ सेटिंग अच्छा है। इसे बदलना/संपादित करना परेशान मत करो।

सुनिश्चित करने के लिए कि यह एक अपाचे/आधुनिक-WSGI सेटिंग समस्या नहीं है, आप उत्पादन मशीन से विकास सर्वर चला सकते हैं

python manage.py runserver 0:8080 

फिर

http://yoursite.com:8080/ 

अपने ब्राउज़र को आपको बिल्कुल वही व्यवहार देखना होगा।

फिर,

इस समस्या को दूर करने के लिए:

  • अपने सर्वर पर अजगर खोल पर, import tagging प्रयास करें। जाहिर है, आपके ट्रेसबैक से, import tagging वह जगह है जहां यह एक त्रुटि उठा रहा है और इसलिए, सेटिंग्स आयात नहीं की जा सकती हैं।

  • फिर, टैगिंग वाले पैकेज को हटाएं, और निम्न आदेश द्वारा ताजा इंस्टॉल करें, जो जानता है कि पैकेज कैसे इंस्टॉल करें, ठीक है।

sudo pip install django-tagging 
+0

आयात टैगिंग काम नहीं करता है, यहां तक ​​कि विकास सर्वर के साथ: Traceback (सबसे हाल कॉल पिछले): फ़ाइल "", लाइन 1, ImportError में: नहीं मॉड्यूल टैगिंग – Jimbo

+1

Jimbo नामित: मैं यही वास्तव में क्या भविष्यवाणी की। अपनी समस्या का समाधान करने के लिए अब आप मेरा जवाब सावधानी से पढ़ सकते हैं! –

+0

पहले कभी पीआईपी का इस्तेमाल नहीं किया लेकिन यह काम किया। पता नहीं क्या समस्या का कारण बन गया। मुझे उम्मीद है कि यह टैगिंग विशिष्ट था ताकि मुझे बाद में किसी अन्य पैकेज के साथ एक ही समस्या न हो .. धन्यवाद – Jimbo

4

क्या आपने ग्राहम डम्प्लटन के blog post on Django and WSGI पढ़ा है? यह कुछ सामान्य कॉन्फ़िगरेशन समस्याओं का वर्णन करने का एक बहुत अच्छा काम करता है, और विशेष रूप से mysite.settings बनाम settings पर स्पर्श करता है।

अद्यतन: कृपया ग्राहम डम्प्लटन की उत्कृष्ट टिप्पणियों को नीचे पढ़ें।

अद्यतन 2: जैसा कि ग्राहम और बनने वाले दोनों ने इंगित किया है, समस्या डब्लूएसजीआई के साथ बिल्कुल नहीं है। यह django-tagging की स्थापना के साथ एक समस्या है। django-tagging स्थापित करने के लिए गुरु की सलाह बनें और pip का उपयोग करें।

+0

आशा है कि यह आपकी विशिष्ट समस्या को हल करे। –

+0

अभी भी वही समस्या है:/ – Jimbo

+5

फिर आपके पास अनुमति की समस्या हो सकती है। अपाचे एक विशेष उपयोगकर्ता के रूप में चलता है और आप नहीं। इसलिए निर्देशिकाएं जहां Django साइट है, साथ ही सभी मूल निर्देशिकाएं उस बिंदु तक नीचे, अपाचे उपयोगकर्ता के लिए सुलभ होनी चाहिए। अगर आपके घर खाते पर rwx ------ है तो अपाचे आपके खाते के अंदर नहीं देख पाएगा। –

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