【问题标题】:windows virtualenv using global packageswindows virtualenv 使用全局包
【发布时间】:2010-12-05 06:31:00
【问题描述】:

我有最新版本的 virtualenv、django-nonrel、djangotoolbox 和 django_mongodb_engine。 virtualenv 是使用 -no-site-packages 创建的。

我尝试关注 quick start,但在尝试运行 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 安装吗?

【问题讨论】:

    标签: python django virtualenv django-nonrel


    【解决方案1】:

    问题出在 windows 下的文件关联上。我试图通过使用默认 Windows python 安装的“manage.py syncdb”来同步数据库。使用“python manage.py syncdb”使用了正确的 python 和环境。

    【讨论】:

      【解决方案2】:

      你试过运行activate.bat吗?

      另外,我认为设置 PYTHONPATH 应该可以,但你必须在开始时插入新路径,它应该是包含 django 安装目录的路径,而不是 django 本身:

      set PYTHONPATH=C:\path\to\env\Lib\site-packages\;%PYTHONPATH%
      

      【讨论】:

        【解决方案3】:

        这是我解决这个问题的 2 美分:

        使用 PyDev 作为 Eclipse 插件,只需指向用于新项目的新解释器即可解决此问题。

        【讨论】:

          猜你喜欢
          • 2018-05-21
          • 2011-05-05
          • 2012-08-04
          • 2014-01-23
          • 2020-05-25
          • 2011-02-15
          • 2018-10-19
          • 2016-12-19
          • 1970-01-01
          相关资源
          最近更新 更多