我是靠谱客的博主 光亮皮皮虾,最近开发中收集的这篇文章主要介绍ubuntu删除python3.5_Ubuntu16.04默认Python3.5升级Python3.6踩坑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

好久没更新博客了,每天还是踩坑中。今天遇到第一个问题“ImportError: No module named ‘secrets‘”,导包是常见问题。这次的问题导致我又重装了一次环境,不过这是一个新服务器。

首先,分析下这个secrets库。它是一个标准库,要求是python版本>=Python3.6。那么开始升级Python:

第一种方法:

使用Ubuntu的PPA(Personal Package Archives个人软件包存档),实质是更改source.list进行软件的更新。这个方式第一次尝试,比较之前的升级方式简便,只需3步(ps:我没成功,看下面也许你会成功)。那就开始尝试了。

1)添加仓库

sudo add-apt-repository ppa:jonathonf/python-3.6

# 若添加失败sudo apt-get install python-software-propertiessudo apt-get install software-properties-common

2)更新软件源list

sudo apt-get update

# 若出现E: Failed to fetch http://ppa.launchpad.net/..... E: Some index files failed to download. They have been ignored, or old ones used instead

# 手动更新source.listsudo vi /etc/apt/sources.list

# 检查下有没有ppa,有的话注释掉那一行;没有的话,加上下面的这一行

deb http://ppa.launchpad.net/q-quark/equalx/ubuntu xenial main

# 当然更新源列表的时候很快,可能没注意这几行报错,接着下一步安装Python3.6也会报其他错

3)安装Python3.6

sudo apt-get install python3.6# 若报错E: Unable tolocate package python3.6# E: Couldn‘t find any package by glob‘python3.6‘# E: Couldn‘t find any package by regex‘python3.6‘# 当然,这是上一步更新软列表没有成功

# 到这了,是否该放弃这种方法呢?找到了ppa的一个传送门:https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa

第二种方法:

使用老方法,下载安装包,编译。

1)安装一些依赖包

sudo apt-get install -y wget

sudo apt-get install make

sudo apt-get install -y gcc

sudo wget http://www.zlib.net/zlib-1.2.11.tar.gz

sudo tar -xzvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

sudo ./configuresudo makeallsudo make installcd ..sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgradesudo apt-get install -y build-essential python-dev python-setuptools python-pip python-smbussudo apt-get install -y build-essential libncursesw5-dev libgdbm-dev libc6-devsudo apt-get install -y zlib1g-dev libsqlite3-dev tk-devsudo apt-get install -y libssl-dev opensslsudo apt-get install libffi-dev

2)安装Python3.6

sudo wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

sudo tar -xzvf Python-3.6.5.tgz

cd Python-3.6.5

sudo ./configuresudo makeallsudo make install

3)创建软链

# 移除旧的软链sudo rm -rf /usr/bin/python3sudo rm -rf /usr/bin/pip3

# 创建新的,因为安装的时候没有指定安装路径,默认安装到/usr/local/bin/

sudo ln -s /usr/local//bin/python3.6 /usr/bin/python3

sudo ln -s /usr/local/bin/pip3.6 /usr/bin/pip3

# 验证指向是否是python3.6python3-V

pip3-V

lsb_release问题:

装virtualenv后,进入沙盒环境pip list(ps:沙盒环境就不需要再pip3,pip即可),报了另外个问题:subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-zero exit status 1.

# 更改该文件的shebangsudo vi /usr/bin/lsb_release

# 第一行#!/usr/bin/python3 -Es 更改为#!/usr/bin/python3.6 -Es

# 再次pip list成功

奶思~

原文:https://www.cnblogs.com/NolaLi/p/12690499.html

最后

以上就是光亮皮皮虾为你收集整理的ubuntu删除python3.5_Ubuntu16.04默认Python3.5升级Python3.6踩坑的全部内容,希望文章能够帮你解决ubuntu删除python3.5_Ubuntu16.04默认Python3.5升级Python3.6踩坑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部