centos 安装 python3.x

 首选参考

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.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && 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安装

下载文件

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

执行安装

python get-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 --version
Python 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.py
import encodings.utf_8 # precompiled from /usr/lib64/python2.6/encodings/utf_8.pyc
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "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 总用量 20108 drwxrwxr-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/python3 make && make installchecking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for --enable-universalsdk... no checking for --with-universal-archs... no checking MACHDEP... linux 中间步骤省略............ checking for --without-gcc... no configure: creating ./config.status config.status: creating Makefile.pre config.status: creating Modules/Setup.config config.status: creating Misc/python.pc config.status: creating Misc/python-config.sh config.status: creating Modules/ld_so_aix config.status: creating pyconfig.h creating Modules/Setup creating Modules/Setup.local creating 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) \ fi rm -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=/ ; \ fi Ignoring 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]# python Python 3.5.2 (default, Aug 2 2016, 11:35:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() #<----退出python PS:如果不建立新安装路径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 --version Python 3.5.2




如果遇见如下问题:

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






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



问题:

$ 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



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值