【问题标题】:pkg_resources.DistributionNotFound: Django==1.8.3 in Django 1.9pkg_resources.DistributionNotFound:Django 1.9 中的 Django==1.8.3
【发布时间】:2016-07-27 13:22:36
【问题描述】:

我在更新 Django 1.8 后使用 Django 1.9,当我输入命令时

django-admin runserver

我遇到了这个错误:

Traceback (most recent call last):
  File "/usr/local/bin/django-admin", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2749, in <module>
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 446, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 459, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 628, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: Django==1.8.3

然后我尝试输入这个命令:

django-admin.py runserver

我遇到了这个错误:

Traceback (most recent call last):
  File "/usr/local/bin/django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 195, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 39, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 16, in <module>
    from django.db.migrations.executor import MigrationExecutor
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 7, in <module>
    from .loader import MigrationLoader
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 10, in <module>
    from django.db.migrations.recorder import MigrationRecorder
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 12, in <module>
    class MigrationRecorder(object):
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 26, in MigrationRecorder
    class Migration(models.Model):
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 27, in Migration
    app = models.CharField(max_length=255)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1072, in __init__
    super(CharField, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 166, in __init__
    self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 55, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 41, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

我尝试卸载并安装 Django。但我仍然有这个错误。希望有人可以帮助我。谢谢

【问题讨论】:

  • 您是否同时使用pipeasy_install 来管理您的包?如果是,那么回复this question 可能会有所帮助。

标签: django


【解决方案1】:

你通常不应该使用django-admin,除非你使用django-admin startproject

创建项目后,使用manage.py 运行开发服务器会更容易,因为它会为您设置路径和设置模块。

./manage.py runserver

更多信息请参见the docs

【讨论】:

    【解决方案2】:

    也许你使用了另一个 python 版本?现在是 python 2.7,看来你没有为 python2.7 正确安装 django。你可以试试

    python3 manage.py runserver
    

    用于在 ubuntu 中使用 python3(默认安装并使用python3 访问),或者尝试定义如何使用另一个 python 版本运行它。

    【讨论】:

    • 当我尝试python3 manage.py run server 时,我得到了ImportError: No module named 'django'
    • 好吧,我失败了。然后你可以尝试确定它是否正确安装,首先检查你的环境变量。有一个很接近的问题:stackoverflow.com/questions/8712371/…。试试看它是否能解决你的问题
    猜你喜欢
    • 2013-05-03
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2017-11-22
    • 2015-11-01
    相关资源
    最近更新 更多