【发布时间】: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