【问题标题】:How to install django with python3.9 on ubuntu aws如何在 ubuntu aws 上使用 python3.9 安装 django
【发布时间】:2021-11-03 04:04:03
【问题描述】:

我在使用命令 sudo python3.9 -m pip install Django 安装 django 时遇到了挑战。我运行该命令的错误是:

Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 19, in <module>
    sys.exit(pip.main())
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 217, in main
    return command.main(cmd_args)
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 242, in main
    with self._build_session(
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 66, in _build_session
    session = PipSession(
  File "/usr/lib/python3/dist-packages/pip/download.py", line 321, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/usr/lib/python3/dist-packages/pip/download.py", line 93, in user_agent
    zip(["name", "version", "id"], platform.linux_distribution()),
AttributeError: module 'platform' has no attribute 'linux_distribution'

尝试运行sudo python manage.py migrate 非常困难。从这篇 Stack Overflow 帖子Traceback while running 'sudo python3 manage.py migrate' 的评论/答案中,我知道我需要 python 3.6 及更高版本。当我创建 aws ubuntu 服务器实例时,我运行了python3 -V,结果是 python3.5 正在机器上运行。我将它升级到 python 3.9。现在,当我运行python3 -V 时,输出为:Python 3.9.4。升级到 python3.9 后,我创建并激活了另一个虚拟环境。 现在,当我尝试使用命令sudo python3.9 -m pip install Django 安装 django 时,出现上述错误。如果我使用sudo python3 -m pip install Django,django 会安装 python3.5,因为此后当我运行sudo python3 manage.py migrate 时,它会返回指向File "/usr/lib/python3.5/runpy.py", line 197, in _run_module_as_main 的错误如果我删除/usr/lib 文件夹中的python 3.5(因为我仍然有python 3.9那里),每当我使用sudo python3 -m pip install Django 重新安装django(即使python3 -V 正在输出Python 3.9.4)时,都会在/usr/lib 文件夹中重新创建python3.5。当我运行 sudo python3 manage.py migrate 时,它说我的环境变量中没有安装 django。 现在解释越来越无聊了。请问如何使用 PYTHON3.9 在 UBUNTU AWS 上安装 DJANGO?

【问题讨论】:

    标签: django ubuntu amazon-ec2 python-3.9


    【解决方案1】:
    sudo apt-get install python3-setuptools
    sudo apt remove python3-pip
    sudo python3.9 -m easy_install pip
    

    然后尝试再次安装 django

    python3 -m pip install Django
    

    别忘了先创建虚拟环境并指定python版本

    【讨论】:

    • 谢谢@ryan.chen。我已经采纳了您的建议,但同样的问题仍然存在。使用评论中的最后一个命令安装 Django 后,我无法运行 sudo python manage.py migrate。当我尝试迁移时,我收到错误消息,因为sudo python3 -m pip install Django 正在使用 python3.5 而不是 python3.9 安装 Django,即使 python3 -V 正在终端上输出 Python 3.9.4,就像我上面解释的那样。
    • stackoverflow.com/questions/69062863/… from cmets of people from that stack overflow post 我知道 python3.5 不支持 asgiref 这就是迁移不起作用的原因
    【解决方案2】:

    后来发现不能运行sudo python3.9 -m pip install Django。如链接Traceback while running 'sudo python3 manage.py migrate'中的堆栈溢出帖子所述,python3.5 不支持它。

    我必须安装 python3.6。我可以使用这个 python 版本通过 runnig sudo python3.6 -m pip install Django 安装 django。

    我对 python 版本中存在的这些重大更改绝对不满意,但我很高兴我让程序运行。

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 2013-11-06
      • 2012-02-28
      • 2022-01-14
      • 2018-08-16
      • 1970-01-01
      • 2015-04-29
      • 2018-04-26
      相关资源
      最近更新 更多