centos 安装 python3.x

来源:互联网 发布:明年今日 知乎 编辑:程序博客网 时间:2024/05/17 04:09

 首选参考

1、linux下安装python3

a、 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件)

1
2
yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel  openssl-devel ncurses-devel

2 下载 Python3.5代码包

wget  https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz

 

在安装包中有一个README的文件,里面有写如何安装

tar Jxvf  Python-3.5.0.tar.xzcd Python-3.5.0./configure --prefix=/usr/local/python3make && make install

做软链:

  mv /usr/bin/python /usr/bin/python_old

 ln -s /usr/local/python3/bin/python3 /usr/bin/python

安装成功了!

如果提示:Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

这是原因没有安装或升级oenssl:

yum install openssl-devel

再次重复编译方案python3.5:

最终如下:


pip安装

下载文件

wgethttps://bootstrap.pypa.io/get-pip.py--no-check-certificate

执行安装

pythonget-pip.py

做软链:

ln -s /usr/local/python3/bin/pip3.5 /usr/local/bin/pip或/usr/bin/pip


执行pip命令,查看是否安装成功


pygame安装

pip install wheel

pip install pygame-1.9.3-cp35-cp35m-manylinux1_x86_64.whl

python

>>>  import pygame




升级pip到最新版本:

pip install --upgrade pip

pip安装成功啦! 

 注:--no-check-certificate 表示安装时“不检查证书”,不加上可能无法安装。


 2.安装包

requests包:

pip install requests

pyquery包:

pip install pyquery

pymysql包:

pip install pymysql


注意事项:这种方法虽然能安装成功,但会导致yum不能正常使用。解决方法:[root@template tools]# cp /usr/bin/yum /usr/bin/yum.backup_2016-08-02修改第一行参数vi /usr/bin/yum   把  #!/usr/bin/python    修改为:/usr/bin/python_old  或把  #!/usr/bin/python    修改为:/usr/bin/python2.6#查看版本[root@template Python-3.5.2]# python --versionPython 3.5.2


其他方式:

python环境搭建-Linux系统下python2.6.6升级python3.5.2步骤

复制代码
[root@template ~]# python -v# /usr/lib64/python2.6/encodings/utf_8.pyc matches /usr/lib64/python2.6/encodings/utf_8.pyimport encodings.utf_8 # precompiled from /usr/lib64/python2.6/encodings/utf_8.pycPython 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2Type "help", "copyright", "credits" or "license" for more information.dlopen("/usr/lib64/python2.6/lib-dynload/readline.so", 2);import readline # dynamically loaded from /usr/lib64/python2.6/lib-dynload/readline.so>>> exit()
复制代码

Python3.5.2官方网站下载地址

https://www.python.org/downloads/source/

复制代码
升级为python3.5版本步骤
root@template
~]# cd /home/nulige/tools/#下载python-3.5.2[root@template tools]# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz[root@template tools]# ll总用量 20104-rw-r--r-- 1 root root 20566643 6月 26 05:47 Python-3.5.2.tgz#解压到下载目录[root@template tools]# tar zxvf Python-3.5.2.tgz [root@template tools]# ll总用量 20108drwxrwxr-x 16 1000 1000 4096 6月 26 05:38 Python-3.5.2-rw-r--r-- 1 root root 20566643 6月 26 05:47 Python-3.5.2.tgz-rwxrwxrwx. 1 root root 13259 5月 8 16:10 system_optimize_scripts.sh#进入解压后的文件夹[root@template tools]# cd Python-3.5.2#在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)[root@template Python-3.5.2]# mkdir /usr/local/python3#开始编译安装[root@template Python-3.5.2]# ./configure --prefix=/usr/local/python3make && make installchecking build system type... x86_64-unknown-linux-gnuchecking host system type... x86_64-unknown-linux-gnuchecking for --enable-universalsdk... nochecking for --with-universal-archs... nochecking MACHDEP... linux中间步骤省略............checking for --without-gcc... noconfigure: creating ./config.statusconfig.status: creating Makefile.preconfig.status: creating Modules/Setup.configconfig.status: creating Misc/python.pcconfig.status: creating Misc/python-config.shconfig.status: creating Modules/ld_so_aixconfig.status: creating pyconfig.hcreating Modules/Setupcreating Modules/Setup.localcreating Makefile[root@template Python-3.5.2]# make && make install中间步骤省略............if test "x" != "x" ; then \ rm -f /usr/local/python3/bin/python3-32; \ (cd /usr/local/python3/bin; ln -s python3.5-32 python3-32) \ firm -f /usr/local/python3/share/man/man1/python3.1(cd /usr/local/python3/share/man/man1; ln -s python3.5.1 python3.1)if test "xupgrade" != "xno" ; then \ case upgrade in \ upgrade) ensurepip="--upgrade" ;; \ install|*) ensurepip="" ;; \ esac; \ ./python -E -m ensurepip \ $ensurepip --root=/ ; \ fiIgnoring ensurepip failure: pip 8.1.1 requires SSL/TLS[root@template Python-3.5.2]# echo $?0编译完成#################################################此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字[root@template Python-3.5.2]# mv /usr/bin/python /usr/bin/python_old#再建立新版本python的软链接[root@template Python-3.5.2]# ln -s /usr/local/python3/bin/python3 /usr/bin/python#就会显示出python的新版本信息[root@template Python-3.5.2]# pythonPython 3.5.2 (default, Aug 2 2016, 11:35:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> exit() #<----退出pythonPS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。注意事项:这种方法虽然能安装成功,但会导致yum不能正常使用。解决方法:[root@template tools]# cp /usr/bin/yum /usr/bin/yum.backup_2016-08-02修改第一行参数vi /usr/bin/yum 把 #!/usr/bin/python 修改为:/usr/bin/python_old 或把 #!/usr/bin/python 修改为:/usr/bin/python2.6#查看版本[root@template Python-3.5.2]# python --versionPython 3.5.2




如果遇见如下问题:

在用Xshell登录进入linux后,默认情况下如果敲击delete,backspace键时会产生^H等乱码问题,这是因为编码不匹配的问题.






在文件 》》属性》》键盘中


 

python升级带来的yum异常:File "/usr/bin/yum", line 30



问题:

$ yum 

File "/usr/bin/yum", line 30 

except KeyboardInterrupt, e: 

                                         ^

SyntaxError: invalid syntax

 

原因:

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.4,当系统将python升级到2.6或3.0后,出现语法解释错误。

 

解决办法:

很简单,一是升级yum,一是修改yum的解释器为旧版本python2.4(如果你没有采用覆盖升级的话)。

升级yum的作法就不详述了。修改yum的解释器为旧版本python2.4:

$ vi /usr/bin/yum

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.4"即可。



转载:http://www.cnblogs.com/nulige/archive/2016/11/01/6020271.html



下载文件wgethttps://bootstrap.pypa.io/get-pip.py--no-check-certificate执行安装pythonget-pip.py