Linux大多装有Python2,但由于人所共知的原因我们通常需要装Python3,而且可能是不同版本的。
首先去python官网下载python3的源码包,网址:https://www.python.org/
进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,表示源码包。
这里选择第一个下载即可,下载的就是源码包:Python-3.x.x.tgz,下载好之后上传到linux系统,准备安装。
嫌麻烦可以直接 wget 安装文件,地址是:
https://www.python.org/ftp/python/3.5.7/Python-3.5.7.tgz,3.5.7可以按需求换成某个版本的数字。
python安装之前需要一些必要的模块,比如openssl,readline等,如果没有这些模块后来使用会出现一些问题。
安装依赖:
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install libffi-devel(3.7版本需要,不然报错ModuleNotFoundError: No module named '_ctypes')
解压安装包、配置和编译:
tar -zxvf Python-3.5.7.tgz
cd Python-3.5.7
./configure --prefix=/usr/local/python35 --enable-shared CFLAGS=-fPIC
(note:这里把Python3安装到/usr/local/python35 文件夹内,加上--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照上面的方式配置,另外如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可. )
make
make install
为了不影响系统原有的Python2,我们新建软连接如下:
ln -s /usr/local/python35/bin/python3 /usr/bin/python3
ln -s /usr/local/python35/bin/pip3 /usr/bin/pip3
现在输入Python3 便可调用所安装版本的Python,输入pip3可安装对应版本Python的包了。
note:如提示--没有加载到libpython3.5m.so.1.0 这个库文件
解决:进入解压后的编译目录
cp libpython3.5m.so.1.0 /usr/local/lib64/
cp libpython3.5m.so.1.0 /usr/lib/
cp libpython3.5m.so.1.0 /usr/lib64/
至此,特定版本的Python安装完毕。
领取专属 10元无门槛券
私享最新 技术干货