python安装之前需要一些必要的模块,比如openssl,readline等,如果没有这些模块后来使用会出现一些问题,比如没有openssl则不支持ssl相关的功能,并且pip3在安装模块的时候会直接报错;没有readline则python交互式界面删除键和方向键都无法正常使用,至于需要什么模块在make完之后python会给出提示,通过提示进行安装即可装全, 另外感谢园友的Glory_Lion的回复;下面是需要提前预装的依赖:
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
gcc环境先搭好
yum -install gcc
如果删除了系统上自带的python, 这里我把一个python文件删除了.
这里只需要设置一个软连接就好了bin] ln -s /usr/bin/python2.6 /usr/bin/python
- 1
Linux会自带一个Python2的版本, 我的服务器自带的是Python2.6.6的版本,这并不影响再次安装一个新的版本.
我使用的是wget网络传输方式下载的Python安装包.下面是安装过程:
安装包的解压路径在 /opt/local
安装包的路径在 /opt/local/installpackage
1.下载
installpackage]# wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
- 1
2.解压
local]# tar -zxf installpackage/Python-3.6.4.tgz
local]# cd Python-3.6.4.tgz
Python-3.6.4.tgz]# ll
- 1
- 2
- 3
3.配置
Python-3.6.4.tgz]# ./configure --prefix=/usr/bin/python3.6.4
- 1
系统默认的python路径就在/usr/bin目录下面, 可以看到python. python2 -> python, python2.6 几个关于python的东西
4.安装
Python-3.6.4.tgz]# make
Python-3.6.4.tgz]# make install
- 1
- 2
安装完成之后可以跳到安装目录下面看看
cd /usr/bin/python3.6.4
- 1
下面有bin lib 等几个目录, 到bin目录下可以看到一个python3 的二进制编码文件, 之后会用到
5.配置软连接(python2 -> python 就是软连接, 我们也需要配制成这样)
Python-3.6.4.tgz]# ln -s /usr/bin/python3.6.4/bin/python3 /usr/bin/python3
- 1
/usr/bin/python3.6.4/bin/python3这个是你安装的python所在的路径, 安装路径在第三步骤
python3
查看是否安装成功
6.配置pip
跳转到cd /usr/bin/python3.6.4/bin
下
bin]# ls
2to3 2to3-3.6 easy_install-3.6 idle3 idle3.6 pip3 pip3.6 pydoc3 pydoc3.6 python3 python3.6 python3.6-config python3.6m python3.6m-config python3-config pyvenv pyvenv-3.6
- 1
- 2
可以看到里面有pip3.和pip3.6,
bin]# cp pip3 /usr/bin
bin]# cp pip3.6 /usr/bin
- 1
- 2
pip3
查看pip是否配置成功
参考:
http://www.cnblogs.com/freeweb/p/5181764.html
http://blog.youkuaiyun.com/xgf415/article/details/56481408
http://blog.youkuaiyun.com/daiqisi/article/details/72778498