1.下载Python3
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0a1.tar.xz
2. 解压
tar xvf Python-3.6.0a1.tar.xz
3.编译安装
cd Python-3.6.0a1
./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC
make
make install
此时报错:
cannot create directory `/usr/python': Permission denied
切换权限,
sudo make install
成功。
安装成功之后,安装目录就在/usr/python
安装完成之后要简单做一下配置:即将python库路径添加到/etc/ld.so.conf配置中,然后执行ldconfig生效;或者添加到$LD_LIBRARY_PATH中,这样在接下来运行python3是就不会报找不到库文件的错误了.
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7
这里不要把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3
这里建立有关的软链接如下:
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
原文地址:CentOS怎样安装Python3.6 - 此生不换Yang - 博客园
yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
安装可能用到的依赖
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
下载Python3.6.5源码
tar -xzvf Python-3.6.5.tgz
解压到当前目录
cd Python-3.6.5
进入解压后的目录
./configure --prefix=/usr/local/python
安装到/usr/local/python目录,不用事先创建python目录
make
编译
make altinstall
安装
cd /usr/bin
进入/usr/bin目录
mv python python.bak
mv pip pip.bak
重命名python2的快捷方式
ln -s /usr/local/python/bin/python3.6 /usr/bin/python
ln -s /usr/local/python/bin/pip3.6 /usr/bin/pip
创建python3与pip3软连接
ll yum*
查看/usr/bin目录下有哪些yum文件
把这些文件的第一行#!/usr/bin/python改为#!/usr/bin/python2
因为yum是依赖python的,所以我们修改了默认的python,就要修改yum,让其运行指向python2
修改urlgrabber配置文件
vim /usr/libexec/urlgrabber-ext-down
把第一行#!/usr/bin/python 改为 #!/usr/bin/python2
遇到的问题:
1.urlgrabber-ext-down 不存在
通过find / -name 'urlgrabber' ,来修改urlgrabber文件。
2.执行Python2失败。把第一行#!/usr/bin/python 改为 #!/usr/bin/python2 是错误的,要全部改成#!/usr/bin/python2.6
这里是当前python的版本。
3.输入python3.6的时候报错:
python3.6: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
解决办法:
原因是因为python运行时没有加载到libpython3.5m.so.1.0 这个库文件 将其复制到响应目录OK
解决方法:
[root@www Python-3.5.0]# cd /root/test/Python-3.5.0 进入解压后的编译目录
[root@www Python-3.5.0]# cp libpython3.5m.so.1.0 /usr/local/lib64/
[root@www Python-3.5.0]# cp libpython3.5m.so.1.0 /usr/lib/
[root@www Python-3.5.0]# cp libpython3.5m.so.1.0 /usr/lib64/
下图是我自己解决的,直接上图了
4.我没有采用建立软连接的方法吧? 我是指直接去配置的环境变量
sudo vim /etc/profile
我修改了这里