Linux编译安装python3

到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

 

posted @ 2019-04-19 14:23  夕阳如火  阅读(2311)  评论(0编辑  收藏  举报