最近由于需要用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