1:下载python3源码并安装
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz tar zxvf Python-3.6.4.tgz cd Python-3.6.4.tgz ./configure --enable-shared --prefix=/usr/local make && make altinstall
安装完之后,python3.6就存在于/usr/local/bin/中了。
此时直接运行python3.6还是会报错:
/usr/local/bin/python3.6: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
可以通过设置环境变量解决:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
也可以使用下面的方法:
在目录 /etc/ld.so.conf.d 下,建立 python3.conf
并在 python3.conf 中加入一下内容:
/usr/local/lib/
然后运行:ldconfig
2:使用virtualenv创建虚拟环境
创建虚拟环境:
virtualenv -p /usr/local/bin/python3.6 py36env
执行上述命令后,会在当前目录创建py36env文件夹,该文件夹即为我们创建的虚拟环境。
3:激活虚拟环境
[root@localhost ~]# source py36env/bin/activate
(py36env) [root@localhost ~]# python -V
Python 3.6.4
可以看见在提示符之前增加了(py36env)字段
4:退出虚拟环境
(py36env) [root@localhost ~]# deactivate
[root@localhost ~]#
附注:Python3的交互环境中,无法使用箭头方向键和tab:
网上查到的答案大多是安装readline包,但是装上之后再交互环境中会发生崩溃:
*** Error in `python': free(): invalid pointer: 0x000000000XXXXXXXX ***
最后,发现需要安装 python-gnureadline包,地址是:https://github.com/ludwigschwardt/python-gnureadline/releases,在Python3环境下安装即可解决。