起因:
有些第三方库运行只支持Python3.5以上,以及需要使用pip3安装,因此不得不升级Python版本。主要步骤为python官方源码安装,然后修改Python3和pip3的软连接即可。
具体升级步骤:
①安装依赖:
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev
sudo apt-get install liblzma-dev libffi-dev libc6-dev
②从python官网下载
https://www.python.org/downloads/release/python-373/最新的为3.9版本。
wget 'https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz'
③解压,源码安装
tar zxvf Python-3.7.3.tgz #解压源码
cd Python-3.7.3 #进入到解压文件
sudo mkdir -p /usr/local/python3 #新建Python3.7的工作目录
./configure --prefix=/usr/local/python3 --enable-optimizations #配置
make #编译
sudo make install #安装
④ 修改Python3和pip3的软连接指向python3.7和pip3.7
1)先进入可执行文件的目录,执行查看版本
cd /usr/bin #进到python可执行目录
ll -a|grep python3 #查看python3的版本
ll -a|grep pip3 #查看pip3的版本
这里我已经将Python3和pip3的软连接修改为新版本的。
2)如果有则证明软链接已存在,需要先删去以前的再重新建立
sudo rm -rf /usr/bin/python3
sudo rm -rf /usr/bin/pip3
3)建立新的软连接
#添加python3的软链接
sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
#添加 pip3 的软链接
sudo ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
4)检测版本,可以看到指向新的版本
python3 -V
pip3 -V
Tips:
1.使用pip3和国内源安装Python第三方库
sudo pip3 install xxx -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 豆瓣源
sudo pip3 install xxx -i -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip 清华源
2.linux系统下的查找命令which,whereis,locate,find的区别。
which:只能查可执行文件的位置 ,在PATH变量里面寻找。which 查找的可执行文件,必须是要在 PATH 下的可执行文件,而不能是没有加入 PATH 的可执行文件,即使他就是可执行文件,但是没有加入到系统搜索路径,他仍然无法被 which 发现
whereis: 只能查二进制文件(含可执行文件)、说明文档,源文件或目录名称等,从linux文件数据库(/var/lib/slocate/slocate.db 或 /var/lib/mlocate/mlocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。whereis不仅找到了可执行文件的位置,还找到了其 man 帮助文件,可见其搜索范围比较广,不局限于PATH。
locate: 配合数据库查看文件或者目录位置,数据库大至每天更新一次,文件名是部分匹配。
find: 实际搜寻硬盘查询文件名称。 (find )
语法: find 路径 参数
参数说明:
时间查找参数:
-atime n :将n24小时内存取过的的文件列出来
-ctime n :将n24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n :寻找群组ID为n的文件
-group name :寻找群组名称为name的文件
-uid n :寻找拥有者ID为n的文件
-user name :寻找用户者名称为name的文件
-name file :寻找文件名为file的文件(可以使用通配符)
最后欢迎大家批评指正!
参考博客:
https://blog.csdn.net/tao_627/article/details/90901830
https://blog.csdn.net/qq_33826564/article/details/82906115
https://blog.csdn.net/zhailihua/article/details/78329123