django virtualenv - Error: No module named sud

J'obtiens cette erreur quand j'essaye ceci:

source ./env/bin/activate

sudo python manage.py syncdb

Error: No module named sud

J'ai installé sud après l'activation de virtuel env, à l'aide de pip install du sud (ainsi que de django).

les applications installées dans settings.py:

INSTALLED_APPS = (
    'south',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',

Quel pourrait être le problème?

Mise à jour:
Je reçois ce message d'erreur lorsque vous essayez de synchroniser sans sudo. Peut-être que c'est lié avec le " sud " problème:

(env), andrius@ubuntu:~/djcode/myproject$ python manage.py syncdb

Syncing...
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/home/andrius/env/local/lib/python2.7/site-packages/south/management/commands/syncdb.py", line 90, in handle_noargs
syncdb.Command().execute(**options)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/home/andrius/env/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
cursor = connection.cursor()
File "/home/andrius/env/local/lib/python2.7/site-packages/django/db/backends/__init__.py", line 306, in cursor
cursor = self.make_debug_cursor(self._cursor())
File "/home/andrius/env/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 177, in _cursor
self.connection = Database.connect(**conn_params)
File "/home/andrius/env/local/lib/python2.7/site-packages/psycopg2-2.4.6-py2.7-linux-x86_64.egg/psycopg2/__init__.py", line 178, in connect
return _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError: FATAL:  Peer authentication failed for user "django"

J'ai créé la base de données et de l'utilisateur pour la base de données à l'aide de ces commandes:

template1=# create database finance;
CREATE DATABASE
template1=# grant all privileges on database finance to django;
ERROR:  role "django" does not exist
template1=# create user django with password 'mydb123';
CREATE ROLE
template1=# grant all privileges on database finance to django;
GRANT
template1=# \q

Mes paramètres de base de données dans settings.py:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'finance',                      # Or path to database file if using sqlite3.
'USER': 'django',                      # Not used with sqlite3.
'PASSWORD': 'mydb123',                  # Not used with sqlite3.
'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
}

}

Essayer de mettre du sud à la fin de vos applications installées: Maintenant que vous avez installé au Sud à l'échelle du système, vous aurez besoin de configurer Django pour l'utiliser. Cela est très simple; il suffit de modifier votre settings.py et d'ajouter " sud " à la fin de INSTALLED_APPS. (south.readthedocs.org/en/0.7.6/...)
Activer votre virtualenv, commencer python et d'essayer "d'importation sud" à partir du shell interactif. Fait-il?
En fait je l'ai mis à la fin des applications installées en premier. Il donne la même erreur. Je pense qu'il devrait être ok avec le sud chemin, parce que django est dans le même répertoire que le sud et django apps ne donnez pas cette erreur.
Oui dans un shell interactif, il a travaillé.
Donc ne soyez pas pourquoi il donne ce message d'erreur lorsque dans un shell interactif, il semble de voir le sud de module...

OriginalL'auteur Andrius | 2013-01-05