到python官网下载python3.5.7
https://www.python.org/downloads/release/python-357/
将文件传到linux上,通过tar指令解压,重命名为python3,这样安装的话,压缩文件在哪里,解压后的文件就会在哪里。可以在python3前面加入/usr/local 之类的路径,改变解压文件的路径。
tar -zxvf Python-3.5.7.tgz python3
正式安装之前先下载一些必需的包,否则会报很多错误,已经报错误的,可以删除python之后下载必需的包,然后重新安装。
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 libffi-devel
安装完成后,进入文件夹,配置编译 --prefix=后跟的是python安装路径,其他不用变,因为yum是默认安装
cd python3
./configure --prefix=/usr/python3 --enable-shared CFLAGS=-fPIC
然后
make
make install
完成后进入
cd /usr/bin
然后创建软链接
ln -s /usr/python3/bin/python3.5 /usr/bin/python3
ln -s /usr/python3/bin/pip3 /usr/bin/pip3
这时候输入python3
这时候已经完成安装。
可能会提示
python3.5: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
原因是因为python运行时没有加载到libpython3.5m.so.1.0 这个库文件 将其复制到响应目录OK
解决方法:
cd /usr/local/python 进入解压后的编译目录
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/
pip出错
No such file or directory
因为我删除过一个版本的python 但是pip仍然关联着删除的这一版本 我的解决方法是
find / -name pip 查一下pip在哪儿 没找到 但是通过 type pip 仍然关联着删除的这一版本 hash -r 解决这一问题
如果还解决不了,可以到pip3文件里看看 vim pip3 #!后面的语句会影响pip运行 可以看一看这一语句显示的文件位置是否正确
type pip
hash -r