Ubuntu16.04中python2.7、python3.5和python3.7共存

Ubuntu中默认安装了python2.7和python3.5,由于一次测试,我需要python3.7的环境,所以进行了安装,其中涉及到:

  • python源码安装
  • 软链接的增添、删除修改
  • 对应版本的pip安装和查看

一、python源码安装

1、下载源码

在官网中下载python3.7的源码,链接:https://www.python.org/downloads/release/python-371/

下载之后解压:

sudo tar -zxvf Python-3.7.1.tgz

2、安装依赖

在3.7中,ctypes模块依赖包 libffi-dev .如果没有,安装会报错:ModuleNotFoundError: No module named '_ctypes'

 sudo apt-get install libffi-dev

3、配置

cd Python-3.7.1

sudo ./configure --prefix=/opt/python3.7

4、编译

 sudo  make

5、安装

make install

在安装步骤中可能会出现zipimport.ZipimportError错误,执行命令:

sudo apt-get install libbz2-dev libgdbm-dev liblzma-dev libreadline-dev libsqlite3-dev libssl-dev tcl-dev tk-dev dpkg-dev

之后再次执行make install即可。

6、创建软连接

为了方便操作,我们需要把下载目录下的python3.7创建软链接到系统目录下:

sudo ln -s /opt/python3.7/bin/python3.7 /usr/bin/python3.7

这之后安装就成功了:

二、软链接的增添、删除修改

软链接类似于Windows下的快捷键。

增添:

sudo ln -s <目标目录> <软链接地址>

删除:

sudo rm -rf <软链接地址>

修改:

sudo ln -snf <目标目录> <软链接地址>

三、对应版本的pip安装和查看

这个我迷惑了好久,因为要在python3.7下安装一个库,安装完了之后还是一直提示没有这个库,我:烦躁.jpg

后来发现安装在了别的版本下面,但是我又不知道怎么看、怎么指定,就……一团乱。

----------------烦躁的分界线-------让我梳理一下-------

首先需要注意的是,在Ubuntu下使用命令apt-get install pip3,会默认安装到python3.5上

如果想要安装python3.7的pip,需要在官网上下载源码。

首先下载setuptools,链接:https://pypi.org/project/setuptools/#files

然后下载pip的源码:https://pypi.org/project/pip/#files

之后执行命令:

sudo tar -zxvf setuptools-56.0.0.tar.gz
cd setuptools-56.0.0
sudo python3.7 setup.py build
sudo python3.7 setup.py install

sudo tar -zxvf pip-21.0.1.tar.gz
cd pip-21.0.1
sudo python3.7 setup.py build
sudo python3.7 setup.py install

这就安装好了。进入python3.7的安装目录中查看pip3(python3.7的)是否安装成功:

但从上文可以看出,如果只用pip3,默认的还是python3.5版本的,所以我们需要修改软链接的地址,让python3.7的pip指向系统处:

然后就可以了。

 

pip的一些操作:

pip/pip3 -V:可以查看该pip对应的是哪个版本的python

pip/pip3 show <库文件>:可以查看该库文件被安装到了哪个版本的python下面;

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值