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
python -m pip install -U --force-reinstall pip
这之后安装就成功了:
二、软链接的增添、删除修改
软链接类似于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下面;