如何在AWS Ubuntu系统中使用Python3.9安装Django并解决相关报错
问题根因
- 旧版pip依赖Python 3.8+已移除的
platform.linux_distribution()方法,你当前Python3.9关联的pip还是适配Python3.5的旧版本,因此触发属性不存在的报错。 - sudo会重置PATH环境变量,你普通用户下修改的python3软链指向3.9,但sudo环境下python3仍指向系统默认的Python3.5,因此用
sudo python3 -m pip装的包都会落到Python3.5的目录下。
解决步骤
第一步:先恢复系统自带的Python3.5(必须操作)
Ubuntu大量系统工具依赖默认预装的Python3.5,你删除/usr/lib下的Python3.5文件会导致后续apt、系统命令报错,先执行以下命令恢复:sudo apt install --reinstall python3 python3-minimal libpython3-stdlib后续不要随意修改、删除系统自带Python的相关文件,需要指定版本时直接用带版本号的
python3.9命令调用即可。第二步:为Python3.9安装匹配的新版pip
运行以下命令直接为Python3.9安装最新版pip,不会触发旧方法报错:curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3.9 get-pip.py安装完成后验证版本,确认输出路径对应Python3.9:
sudo python3.9 -m pip --version第三步:安装Django
直接用对应Python3.9的pip安装即可:sudo python3.9 -m pip install Django安装完成后执行以下命令验证安装成功:
python3.9 -m django --version
额外建议
如果你已经创建了Python3.9的虚拟环境,激活虚拟环境后完全不需要加sudo,直接运行pip install Django即可,虚拟环境内的pip默认绑定你创建环境时用的Python3.9版本,不会和系统Python版本冲突。加sudo会退出虚拟环境上下文,反而会调用系统的Python版本。
内容的提问来源于stack exchange,提问作者C-Bizz
相关产品推荐
相关产品推荐

