2019年8月20日

ubuntu18.04系统安装最新版本python并设置默认版本笔记

网上找了很多教程,因为要下载文件上传什么的,小白一个,我就找了个我觉得最简单好用的

https://www.xdbcb8.com/archives/2403.html 这个是参考地址,pip还没安装,待会试下

在ubuntu18.04中已经安装的Python3版本是3.6.7,下面我们就演示一下如何在ubuntu18.04下源码编译安装Python3.7.4,后续如果有更高版本,安装方式是一样的。

1、首先,更新包列表并安装构建Python源所需的包:

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

可能你会说这么多相关联的包,我怎么记得住,还可以这样:
sudo apt build-dep python3.7
这样Ubuntu会自动去找相关联的包,会简单些!

2、使用以下wget命令从Python下载页面下载最新版本的源代码:如果你是用的是图形化界面,直接使用Firefox下载就行了,更加简单。
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
3、下载完成后,解压缩tarball:
tar -xf Python-3.7.4.tar.xz

4.切换到Python源目录并运行configure脚本,该脚本将执行大量检查以确保系统上存在所有依赖项:
cd Python-3.7.4
./configure –enable-optimizations

5、使用make启动Python构建过程:

make -j1

为了缩短构建时间,请根据处理器修改-j标志。 如果您不知道处理器的核心数,可以通过键入nproc来找到它。

一般情况,我们可以计算机的CPU核心数*2,来确定j后面的数字,相对来说效率高些。

6、构建完成后,键入以下命令安装Python二进制文件:

sudo make altinstall
不要使用标准的make install,因为它会覆盖默认的系统python3二进制文件。
安装过程出现提示
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
查了资料后使用
sudo -H pip install scrapy发现不行
随后我直接根据翻译  sudo -H make altinstall  增加-H  然后就可以安装成功了

7、Python 3.7已安装并可以使用,输入以下命令进行验证:

  1. python3.7 –version
  2. pip3.7 –version

安装完成后我们发现默认的版本不是我们新安装的版本

所以我刚好又找到同一个网站的资料
https://www.xdbcb8.com/archives/2417.html

我们可以试试update-alternatives命令!

update-alternatives命令用来维护系统命令的符号链接,可以将多个文件链接到同一个符号文件上,并进行管理。

1、我们先来看下Python不同版本对应的路径:

  1. which python3
  2. which python3.7

ubuntu@VM-0-14-ubuntu:~$ which python3
/usr/bin/python3
ubuntu@VM-0-14-ubuntu:~$ which python3.7
/usr/local/bin/python3.7

2、使用update-alternatives –install建立链接

  1. sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.6 1
  2. sudo update-alternatives –install /usr/bin/python python /usr/local/bin/python3.7 2

即我们在/usr/bin/python这个目录下,建立一个链接符号为“Python”的链接,这里指定了两个目录,分别是Python3.6和Python3.7的。那么怎么区别呢?不要急,后面还有一个数字,分别是1和2,代表了优先级,数字越大优先级越高,这里明显选择了python3.7!

3、选择要执行的版本

  1. sudo update-alternatives –config python
    这里我们直接回车就行了。 我们来看看效果吧!输入Python直接使用的就是Python3.7.3的编译器了。

Pip在使用上也有同样的问题

可以使用类似的解决方式,这里直接把命令写一下:

  1. sudo update-alternatives –install /usr/bin/pip pip /usr/bin/pip3 1
  2. sudo update-alternatives –install /usr/bin/pip pip /usr/local/bin/pip3.7 2
  3. sudo update-alternatives –config pip

好了 这次终于是成功了,废了好大劲,菜鸟的日子真的辛苦~

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注