在操作系统为Redhat 7.4的服务器上的一次Python 3.8.2的安装
1)首先搞明白操作系统自带的python的安装路径:whereis python,可以看到初始的路径在/usr/bin/python。
cd /usr/bin; ll | grep python,python作为符号链接,指向python2,而python2又指向python2.7
我们安装python3,指向python3.8,这样系统自带的python与自己安装的python3就可以共存了
2)安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
最后一个包libffi-devel没有的话,import模块时候会报错:ModuleNotFoundError: No module named '_ctypes'
3)源码安装,开源代码安装的经典步骤
./configure --prefix=/usr/local/python3
make && make install
4)添加软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3 这样的话,在命令行敲python对应的就是默认的python2.7.5,敲python3对应的就是刚刚安装的python3.8.2,还需要把/usr/local/python3/bin添加到环境变量中
5)pip的使用
配置文件在~/.pip/pip.conf,比如下面的配置文件
[global]
index-url = http://pypi.douban.com/simple #豆瓣源,可以换成其他的源
trusted-host = pypi.douban.com #添加豆瓣源为可信主机,要不然可能报错
disable-pip-version-check = true #取消pip版本检查,排除每次都报最新的pip
timeout = 120
在不同的python环境下,安装模块,例如
python -m pip install pandas对应也可以用pip install pandas
python3 -m pip install pandas对应也可以用pip3 install pandas
还有,比如你在python2的环境下安装pip install flask,切换到python3,用import flask,会报错ModuleNotFoundError: No module named 'flask'
需要你在python3下执行python3 -m pip install flask,然后在python3才可用
在两个不同的环境下import的模块互不影响,也并无关系