【问题标题】:python3 manage.py runserverpython3 manage.py 运行服务器
【发布时间】:2016-04-14 13:00:30
【问题描述】:

使用 python3 manage.py runserver 命令运行 django 站点时遇到问题。我已经安装了 django-bootstrap-ui 包并将正确的名称添加到我的 INSTALLED_APPS 但仍然出现以下错误:

(django_env)my_machine@my_pc:~/srv_django/etransphere$ python3 manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f14d33458c8>
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/usr/local/lib/python3.4/dist-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.4/dist-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python3.4/dist-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/local/lib/python3.4/dist-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked
ImportError: No module named 'bootstrap_ui'

运行 pip list 和 pip show django-bootstrap-ui 都显示包已经安装在我的虚拟环境中

【问题讨论】:

  • 我的机器上安装了多个 Python 版本。我安装的所有 django 软件包都给出了相同的错误。 Trackback 将 python 路径显示为“/usr/lib/python3”,但所有包都在 python2.7 目录中找到。我想我需要指出 WSGI 或 django 以默认使用 Python 2.7
  • 所以看起来python3 命令可能没有指向您的virtualenv。输入which python3 进行确认。同时运行which python——这是否指向你的virtualenv?
  • 另外,您是在尝试使用 Python 3 还是 2?您使用python3 ... 调用该命令,但您的最后一条评论是 2.7
  • 我使用 python2.7 调用 runserver 命令,但出现错误。但是,如果我用 python3 调用它,则不会发生错误。但是我的站点包不使用 python3 加载
  • 上面的代码块显示你执行python3 manage.py runserver 并得到一个错误——这似乎与你刚才所说的相矛盾。你是不是不小心写错了? (另外,如果你不介意,which pythonwhich python3 的输出是?)

标签: python django


【解决方案1】:

我发现使用 Python3 时 msissing 包的问题是我正在使用 pip 运行我的包的安装:

pip install django-bootstrap-ui

而不是 pip3。

sudo -H pip3 install django-bootstrap-ui

在安装 django 时,我使用了 pip3,因此该应用程序开始使用 Python3 库和站点包。使用 pip 安装任何软件包都会将其文件解压缩到我的 django 安装未使用的 Python2 目录中(回想一下我使用 pip3 安装 django)。但是,使用 pip3 将添加的包压缩到我的 django 安装使用的 Python3 目录中,因此可以看到包。错误消除:D

【讨论】:

    【解决方案2】:

    这是由于在 settings.pyurls.py 中安装新应用时出现错误。在编辑这些文件以添加新应用后,我遇到了同样的错误。

    解决方案: 检查 urls.py

    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    *#this may be the place where you entered the app url but created an syntax error.*
    

    并检查 settings.py

    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    

    ]

    当您在 INSTALLED APPS 列表中输入应用名称时,您可能输入了错误的名称

    我的错误原因:输入应用名称后忘记输入逗号

    INSTALLED_APPS = [
    'appName'  <<<<<<< 
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    

    ]

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 2019-01-12
      相关资源
      最近更新 更多