【问题标题】:No name 'path' in module 'django.urls'模块“django.urls”中没有名称“路径”
【发布时间】:2019-08-09 15:33:43
【问题描述】:

我正在尝试使用 AWS Cloud9 设置一个 Django 项目 - 这是自从 Cloud9 迁移到 AWS 以来我第一次使用它,尽管我之前曾将它用于项目。我以为我创建的项目没有问题,但我在 urls.py 中收到与从 django.urls 导入“路径”有关的错误。页面上的警告说:

No name 'path' in module 'django.urls'

我正在使用 Python 3.6.8 和 Django 2.2.4 的虚拟环境,但由于此错误,目前我无法运行该项目。在之前的基于 Cloud9 的项目中,我使用 Django 2.1 和 Python 3.6,这段代码没有错误。

这就是 urls.py 中当前的全部内容:

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

尝试运行项目,我收到此错误:

Traceback (most recent call last):
  File "/home/ec2-user/environment/project/urls.py", line 17, in <module>
    from django.urls import path
ImportError: cannot import name path

【问题讨论】:

  • 看起来它运行的是旧版本的 Django?
  • @WillemVanOnsem 这是我的第一个想法,但当我尝试python -m django --version 时,它返回 2.2.4。
  • 你激活你的venv了吗?

标签: python django aws-cloud9


【解决方案1】:

看起来 AWS 正在运行 django 1.11 或更早版本。 path 是从 django 2.0 开始引入的。检查urls for version 2.0

要检查版本,请运行:

python -m django --version

【讨论】:

  • 正如我所说,我正在使用虚拟环境 - 我在其中安装了最新版本的 Django,并且已经检查过它,它肯定是说我正在运行 2.2.4。
  • 您是否将您的网络服务器配置为使用您安装软件包的 Python 版本?
  • 我将 AWS 环境设置为运行 Python 3.6.8。
  • 尝试升级到python 3.7
  • 到目前为止我还无法做到这一点 - 我尝试了sudo yum -y install python37 并得到了No package python37 available. Error: Nothing to do
猜你喜欢
  • 2018-05-22
  • 2018-07-30
  • 2019-01-10
  • 2018-09-02
  • 1970-01-01
  • 2018-09-04
  • 2019-08-20
  • 2012-02-04
  • 1970-01-01
相关资源
最近更新 更多