最近由于需要用Python完成一项作业,于是在ubuntu 16.04系统上倒腾了一下Python的开发环境,整个过程也是一波三折。现总结一下经验,以免再掉到坑里。
1. ubuntu 16.04 自带的Python版本
ubuntu 16.04系统默认安装了Python2.7.12 和 Python3.5.2 版本,路径分别为/usr/bin/python2.7
和/usr/bin/python3.5
。
可以在终端输入python
,然后连按两次TAB
键,就会显示自己电脑上装了哪些版本的Python。用which
命令可以查看其安装路径。例如:
user:~$ python
python python2-config python3.7 python3-config
python2 python3 python3.7-config python3m
python2.7 python3.5 python3.7m python-config
python2.7-config python3.5m python3.7m-config
user:~$ which python2.7
/usr/bin/python2.7
user:~$
我们总会有很多原因想要卸载掉系统自带的两个Python版本,比如:Python2.7版本太旧,到2020年官方就会停止对它的支持(安装软件时会经常这样提示,很烦!);Python3.5版本与Python3.6版本又是一个分水岭,有些第三方库需要Python3.6版本及其以上,如matplotlib(这也是我要装Python3.7版本的原因)。然而,需要注意的是,如果不是高手,千万不要轻易地卸载这两个版本中的任何一个!如果手贱将其卸载的话,许多对其有依赖的软件(我遇到的如ROS、浏览器、搜狗输入法)会无法正常工作。
如果手贱将其卸载了导致某些软件无法正常工作,可以输入以下命令补救一部分:
sudo apt-get install ubuntu-minimal ubuntu-standard ubuntu-desktop
之后还未修复的软件只能重新安装了。
2. 安装Python3.7版本
ubuntu系统上安装Python可以使用工具安装,也可以从源码安装,这里我采用后者。
安装方法:
从官网下载安装包,解压后进入所在目录,执行以下命令
~$ ./configure
~$ make
~$ make install
默认的安装位置为/usr/local/bin/python3.7
。也可以指定安装路径,如将第一行命令改为./configure --prefix = /usr/bin/
。
如果在make时报错 ModuleNotFoundError: No module named ‘_ctypes’,可以采用下面方法解决:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
再重新编译安装python3.7即可成功 。建议先这样执行一遍,再执行前面的安装命令,确保无误。
使用apt-get安装Python3.7的方法:
sudo add-apt-repository ppa:jonathonf/python-3.7
sudo apt-get update
sudo apt-get install python3.7
3. 多个Python版本的处理
安装Python3.7之后,系统上会有3个Python版本,各个版本之间的关系如下图
ubuntu系统上多个Python版本可以共存(虽然看起来有点让人心烦)。需要用到哪个版本,就之间输入对应的命令。如:
user:~$ python2
Python 2.7.12 (default, Nov 12 2018, 14:36:49)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
user:~$
user:~$ python3
Python 3.7.3 (default, Jun 21 2019, 14:01:53)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
user:~$
4. 安装/卸载Python的第三方库
注意:pip与Python的版本要正确对应。不同版本的pip会将库安装到与其对应版本的Python路径中。
下面以安装ipython为例:
(1)安装库
sudo pip3.7 install ipython
(2)列出已安装的所有库
pip3.7 list
(3)查看已安装的某个库
pip3.7 show ipython
(4)卸载库
sudo pip3.7 uninstall ipython
安装其它库,如:
sudo pip3.7 install matplotlib
sudo pip3.7 install pandas
sudo pip3.7 install jupyter notebook
升级 pip 的方法:pip3.7 install --upgrade pip
参考链接:
https://www.cnblogs.com/harry-xiaojun/p/10482881.html
https://blog.csdn.net/wang725/article/details/79905612