Django "No module named encoding" ???

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Sonntag 29. Juni 2008, 01:57

ImproperlyConfigured: Error importing middleware django.contrib.sessions.middleware: "No module named encoding"
Gibt es da was? google findet es nicht. Installiere gerade http://www.satchmoproject.com/ aber ob es daran liegt?
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 29. Juni 2008, 07:08

Für dango brauchst du erstmal keine extra module.

Evtl. liegt der Fehler nicht wirklich in der Middleware? Zeigt mal den gesamten Traceback.

Nutzt du den SVN trunk?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Sonntag 29. Juni 2008, 08:17

Google ich nach der Meldung, sieht es für mich so aus, als ob das immer Konfigurationsprobleme zusammen mit mod_python oder fcgi sind. Überprüfe doch mal deinen PYTHONPATH.

Stefan
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Sonntag 29. Juni 2008, 12:45

Das ist der traceback
Traceback (most recent call last):

File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)

File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)

File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target
result = object(arg)

File "/var/lib/python-support/python2.5/django/core/handlers/modpython.py", line 177, in handler
return ModPythonHandler()(req)

File "/var/lib/python-support/python2.5/django/core/handlers/modpython.py", line 145, in __call__
self.load_middleware()

File "/var/lib/python-support/python2.5/django/core/handlers/base.py", line 31, in load_middleware
raise exceptions.ImproperlyConfigured, 'Error importing middleware %s: "%s"' % (mw_module, e)

ImproperlyConfigured: Error importing middleware django.contrib.sessions.middleware: "No module named encoding"
Den entsprechenden vhost habe ich mit
<Location /sachmo>
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE sachmo.settings
PythonDebug On
PythonPath "['/var/www/sachmotest/htdocs'] + sys.path"
</Location>
konfiguriert. Mein OS ist Debian. In der .bash_profile o. ä. habe ich keinen gesonderten Eintrag.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 29. Juni 2008, 13:30

Läuft das ganze mit dem django entwicklungsserver?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Sonntag 29. Juni 2008, 16:52

Nein!

sudo python manage.py runserver 8080

ergibt:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/var/lib/python-support/python2.5/django/core/management.py", line 1672, in execute_manager
execute_from_command_line(action_mapping, argv)
File "/var/lib/python-support/python2.5/django/core/management.py", line 1564, in execute_from_command_line
translation.activate('en-us')
File "/var/lib/python-support/python2.5/django/utils/translation/trans_real.py", line 208, in activate
_active[currentThread()] = translation(language)
File "/var/lib/python-support/python2.5/django/utils/translation/trans_real.py", line 197, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/var/lib/python-support/python2.5/django/utils/translation/trans_real.py", line 180, in _fetch
app = getattr(__import__(appname[:p], {}, {}, [appname[p+1:]]), appname[p+1:])
File "/usr/lib/python2.5/site-packages/satchmo/caching/__init__.py", line 5, in <module>
from django.utils.encoding import smart_str
ImportError: No module named encoding
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 29. Juni 2008, 17:32

asdfgqw hat geschrieben:
from django.utils.encoding import smart_str
ImportError: No module named encoding
Aha, das sagt dann aber schon mehr. Der import von django.utils.encoding ist wohl fehlgeschlagen... Nun ich die Frage warum? Existiert die Datei?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Sonntag 29. Juni 2008, 19:39

Sagen wir mal so, ein neues Projekt kann ich erstellen, also muss Django bei mir irgendwo auf der Platte sein. Installiert wird es mit apt-get install python-django.

Gefunden habe ich das bin Verzeichnis unter /usr/lib/python-django/bin. Es enhält genau 5 Dateien. In den site-packages gibt es nichts. Unter /usr/lib/python-support/ auch nicht. Aber wo der Rest ist? Wenn ich raten müsste, dann sollte es vielleicht unter python-support liegen, weil dort auch mod_python, libxml usw. liegen.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 29. Juni 2008, 20:12

dann wirst du IMHO eine uralt version haben... Nimm besser den SVN trunk ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Sonntag 29. Juni 2008, 21:50

Die Version ist 96.2.

Ich hab mal versucht was anderes zu installieren aber egal was es ist, nichts funktioniert.
>>> import lifeflow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "__init__.py", line 27, in <module>

File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 28, in __getattr__
self._import_settings()
File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 53, in _import_settings
raise EnvironmentError, "Environment variable %s is undefined." % ENVIRONMENT_VARIABLE
EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined.
Na mal sehen ...
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 29. Juni 2008, 23:39

Dank der dummen Metamagie musst du immer ein DJANGO_SETTINGS_MODULE definieren, wenn du auf Django-Kram zugreifen willst.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Montag 30. Juni 2008, 07:47

Leonidas hat geschrieben:Dank der dummen Metamagie musst du immer ein DJANGO_SETTINGS_MODULE definieren, wenn du auf Django-Kram zugreifen willst.
Wie sieht denn sowas aus?

Ich habe jetzt mal python-django rausgeworfen und mir im ~/ das django svn installiert. Beim Import bekomme ich den Hinweis auf obiges Modul, aber die Django Application startet einwandfrei. Kurios!

Ich blick bei Debian ohnehin nicht mehr durch. Auf meinem Rechner gibt es python 2.3, 2.4, 2.5 mit diversen Neben- und Unterverzeichnissen, dazu unzählige symlinks. Gelegentlich wird ein Paket python geupdatet. Dann python2.5. Python-base gibt es glaub ich auch noch. Würde ich ein brauchbares Workarround finden, dann würde ich mit python ins ~/ stellen und fertig.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 30. Juni 2008, 09:02

asdfgqw hat geschrieben:
>>> import lifeflow
Traceback (most recent call last):
...
EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined.
Da ist in lifeflow wohl die Variable nicht gesetzt. Gibt mehrere Wege das zu machen... Hast du eine manage.py?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten