centos python 升级 2.7?centos7一键安装python3
大家好,今天来为大家解答centos python 升级 2.7这个问题的一些问题点,包括centos7一键安装python3也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
CentOS7升级Python3版本
为升级 CentOS7上的 Python版本,首先需要安装 Python及其依赖包。确保已安装基础依赖包。
在升级过程中,存在两种主要配置方法:直接创建 Python3软链或覆盖现有 Python版本。
直接创建 Python3软链
在/usr/bin路径下,创建指向已安装的 Python3和 pip3的软链。
完成配置后,系统中将存在两个 Python版本:通过命令'python'调用的是默认的 2.7版本;而'python3'则调用新安装的 3.6版本。
通过'python3-V'和'pip3-V'可以验证所选版本。
覆盖现有 Python版本
先备份旧版本的 Python和 pip,接着修改软链接。
至此,通过'python-V'和'pip-V'可以查看新版本。
故障修复
若采用第二种方法后,一些依赖旧版本的程序如 Yum出现错误,需要进行配置。在文件首行修改 Python为旧版本号(如添加'2.7')。
在安装软件时若仍报错,按照上述方法修改文件(如打开'/usr/libexec/urlgrabber-ext-down'文件,将'#!/usr/bin/python'修改为'#!/usr/bin/python2.7')。
对于其他工具或库在安装过程中出现类似错误,采用相同操作方法处理。此时系统中存在两个 Python版本,但命令'python'对应新安装的 3.6版本,而命令'python2'对应原来的默认 2.7版本。
如何在CentOS6上安装Python2.7和Python3.3
如何在CentOS 6上同时安装Python 2.7和Python 3.3
本文将介绍如何在CentOS 6上安装Python 2.7和3.3。下面以Python 2.7.6和Python 3.3.5为例进行说明,但本人实测该教程同样适合于Python3.4.0.
CentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。
下面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make与make install最好分开执行,并且都在前面加sudo,连着写,如sudo make&& make install的话会在make install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备
编译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利用yum进行工具和拓展库安装的示例命令,直接copy执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yum groupinstall"Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python 2.7中您可以通过在configure时添加选项--enable-unicode=ucs4进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)
目前大部分的Linux系统自带的Python都是以共享库的方式编译的,此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath/usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开/etc/ld.so.conf,然后在文件最后添加新行:/usr/local/lib。紧接着运行命令/sbin/ldconfig更新动态链接器。添加后的文件内容在CentOS 6.5如下:
/etc/ld.so.conf
1
2
include ld.so.conf.d/*.conf
/usr/local/lib
使用“make altinstall”而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS参数您就可以去掉了。
1
2
3
4
5
6
7
8
9
10
11
12
13
# Python 2.7.6:
wget
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-shared LDFLAGS="-Wl,-rpath/usr/local/lib"
make&& make altinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wget
tar xf Python-3.3.5.tar.xz
cd Python-3.3.5
./configure--prefix=/usr/local--enable-shared LDFLAGS="-Wl,-rpath/usr/local/lib"
make&& make altinstall(此处切记,要么以root运行,要么分开执行!)
执行上述命令之后,您可以在/usr/local/bin/python2.7或/usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python,/usr/bin/python2或/usr/bin/python2.6找到。
下载和安装Setuptools+ pip
Setuptools早已取代Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools和 pip。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# First
get the setup script for Setuptools:
wget
# Then
install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now
install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With
pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]
安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。
不同的 Python运行环境(也叫沙盒)可以有自己的 Python版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Install
virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use
the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check
the system Python interpreter version:
python--version
# This
will show Python 2.6.6
# Activate
the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This
will show Python 2.7.6
deactivate
# Activate
the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This
will show Python 3.3.5
deactivate
当你使用 virtualenv创建一个运行沙盒时,它会自动在沙盒环境中为您安装setuptools和 pip(听起来不错,可以还没尝试过)。但如果您使用 pyvenv的话,您就必须自己动手安装了。也简单,激活沙盒之后通过运行下载的z_setup.py文件去安装即可。
CentOS程序设计语言python版本太低如何手动升级
Python是一款计算机程序设计语言,Python语言简洁、可扩展的特性导致使用该语言做科学计算研究的人越来越多,甚至用其设置学校课程,如果Python版本过低将不利于Python语言的使用,下面小编就给大家介绍下CentOS升级Python的方法。
Host1Free的VPS安装的是CentOS 5.8 Final,执行python-V(大写的V)可以看到版本为Python 2.4.3,这确实是一个老掉牙了的版本,但这已经是软件库中最新的版本。此时就需要自己动手来编译安装最新的Python 2.7.3。
一。准备工作
1.安装gcc:
GNU GCC编译器。执行:
yum install gcc
2.安装zlib库:
这个库不是必须的,但如果不安装这个库,会导致Python的zlib内置模块无法使用,进一步导致无法使用Python Egg来安装模块,造成各种麻烦,所以为了避免麻烦,还是装上吧。执行:
yum install zlib zlib-devel
3.下载并解压Python源码包
依次执行:
wget 下载Python源码包
tar zxvf Python-2.7.3.tgz#解压Python源码包
二。编译安装Python
依次执行下面的命令:
cd Python-2.7.3
。/configure
make&& make install
Python的编译和安装还是比较消耗时间的,,在执行上述指令前可以先创建一个screen窗口,会方便很多。
上述命令执行完成后,我们再次执行python-V,可以看到目前的版本已经是Python 2.7.3了,如果想要调用老版本的Python 2.4.3,则执行python2.4。
三。后续工作
安装完后,因为CentOS的yum依赖于系统自带的Python 2.4.3,如果用Python 2.7.3来运行可能会出错,所以我们要将/usr/bin/yum文件中的第一行#!/usr/bin/python修改为#!/usr/bin/python2.4,这样yum执行时就是调用老版本的Python 2.4.3。修改用vi就可以搞定,如果对vi不熟悉的话,可以用Bitvise SSH Client的SFTP功能把文件下载下来,用Notepad++(不要用Windows自带的记事本)修改好了再上传回去(嘿嘿,我第一次的时候就是这样干的)。
最后来安装setuptools,以后下载Python模块的时候就可以直接用easy_install这个命令了。执行:
wget
sh setuptools-0.6c11-py2.7.egg
如下图所示:
上面就是CentOS升级Python版本的方法介绍了,因为Python到2.4.3就不自动更新了,如果你想要使用最新的Python版本就需要自己手动进行更新。