Windows Virtualenv с использованием глобальных пакетов - PullRequest
2 голосов
/ 05 декабря 2010

У меня есть последние версии virtualenv, django-nonrel, djangotoolbox и django_mongodb_engine. Virtualenv был создан с -no-site-packages.

Я попытался выполнить быстрый запуск , но я вижу следующие ошибки при попытке запустить syncdb

Traceback (most recent call last):
  File "C:\www\environments\mongotest\djangomongo\manage.py", line 11, in <
module>
    execute_manager(settings)
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\managem
ent\__init__.py", line 438, in execute_manager
    utility.execute()
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\managem
ent\__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\managem
ent\__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\managem
ent\__init__.py", line 67, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\utils\import
lib.py", line 35, in import_module
    __import__(name)
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\managem
ent\commands\syncdb.py", line 7, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\managem
ent\sql.py", line 5, in <module>
    from django.contrib.contenttypes import generic
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\contrib\cont
enttypes\generic.py", line 6, in <module>
    from django.db import connection
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\db\__init__.
py", line 77, in <module>
    connection = connections[DEFAULT_DB_ALIAS]
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\db\utils.py"
, line 91, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\db\utils.py"
, line 49, in load_backend
    raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: 'django_mongodb_engine' isn't an av
ailable database backend.
Try using django.db.backends.XXX, where XXX is one of:
    'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3'
Error was: No module named django_mongodb_engine.base

Похоже, что он пытается использовать установку django по умолчанию вместо моей установки django-nonrel.

Я попытался добавить set PYTHONPATH =% PYTHONPATH%; C: \ path \ to \ env \ Lib \ site-packages \ django, но без изменений.

Есть идеи, почему здесь используется стандартная установка django?

Ответы [ 3 ]

2 голосов
/ 07 декабря 2010

Проблема была с ассоциациями файлов под окнами. Я пытался синхронизировать через "manage.py syncdb", который использовал установку Windows Python по умолчанию. При использовании «python manage.py syncdb» используются правильные python и окружение.

1 голос
/ 05 декабря 2010

Вы пробовали запустить activate.bat?

Кроме того, я думаю, что настройка PYTHONPATH должна работать, но вам нужно будет вставить новый путь в начале, и это должен быть путь к каталогу, содержащему установку django, а не к самому django:

set PYTHONPATH=C:\path\to\env\Lib\site-packages\;%PYTHONPATH%
0 голосов
/ 24 февраля 2012

вот мои 2 цента на эту проблему:

использование PyDev в качестве плагина eclipse, просто указание на новый интерпретатор, который будет использоваться с новым проектом, решает эту проблему.

...