代码之家  ›  专栏  ›  技术社区  ›  Stefan

Django 2.1 StartProject引发了奇怪的错误

  •  3
  • Stefan  · 技术社区  · 6 年前

    我正在尝试在Python3.4上的Django2.1中启动我的第一个应用程序。这是第一次使用这个版本,以前我只使用django 1.10和python 2.7。乌布努图14.04的一切

    我创建了一个virtualenv,主要遵循以下教程: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming-environment-on-ubuntu-16-04

    但是,我自己做了一些细微的更改,因为首先出现了一个区域设置问题,并按如下方式进行了修复:

    sudo locale-gen "en_US.UTF-8"
    

    后来我把别名改成这样:

    alias python=python3
    alias pip=pip3
    

    这就是全部。安装django==2.1并运行后:

    django-admin.py start project myproject
    

    出现此错误:

    Traceback (most recent call last):
        File "/home/ubuntu/workspace/skw/bin/django-admin", line 7, in <module>
            from django.core.management import execute_from_command_line
        File "/home/ubuntu/workspace/skw/lib/python3.4/site-packages/django/core/management/__init__.py", line 11, in <module>
            from django.conf import settings
        File "/home/ubuntu/workspace/skw/lib/python3.4/site-packages/django/conf/__init__.py", line 18, in <module>
            from django.utils.functional import LazyObject, empty
        File "/home/ubuntu/workspace/skw/lib/python3.4/site-packages/django/utils/functional.py", line 12
            return _curried_func(*args, *moreargs, **{**kwargs, **morekwargs})
                                ^
    

    在django的这个文件functional.py中,我的lint在第12行显示了一个语法错误…但不确定这是否相关,因为我还没有将语法改为python3。

    因为这个我不能启动一个新的项目,如何解决这个问题?

    编辑: 它似乎会在蟒蛇2而不是3中运行。但是当我尝试这个的时候:

    python3 path/bin/django-admin.py startproject myproject
    

    结果完全一样。我也用了python3.4,同样的方法。同时,已经有几个小时了,大约6个工作区被创建和删除。这可能是一些基本的东西,我太累了,看不见,但什么呢?

    python -V
    Python 3.4.3
    
    python3 -V 
    Python 3.4.3
    
    python3.4 -V
    Python 3.4.3
    

    在研究python-v时,django导入工作没有问题。

    2 回复  |  直到 6 年前
        1
  •  4
  •   Dashdrum    6 年前

    python 3.4不支持django 2.1—仅支持3.5、3.6和3.7。

    发行说明: https://docs.djangoproject.com/en/2.1/releases/2.1/

        2
  •  3
  •   Sridhar An Nguyen    6 年前

    您使用的python版本是 3.4.3 . 但是 django==2.1 将安装Django 2.1。

    Django2.1支持python 3.5、3.6和3.7。Django2.0是最后一个支持python 3.4的版本。我们 强烈推荐 只有官方支持每个系列的最新版本。

    来源 Django 2.1 release notes

    所以,您需要安装来解决这个问题

    pip3安装django==2.0.0