centos python 2.7.13?centos自带python

大家好,如果您还对centos python 2.7.13不太了解,没有关系,今天就由本站为大家分享centos python 2.7.13的知识,包括centos自带python的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

如何在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文件去安装即可。

CentOS7.7安装Python3.7

要在CentOS 7.7上安装Python 3.7,首先确保安装必要的依赖。这一步至关重要,因为它们是Python3.7安装的基础。

下载Python 3.7的安装包,将其存储在目录`/usr/local/src`中,以便后续操作。

接着,进行安装包的解压和移动,将文件妥善放置。这将帮助我们顺利进行安装和编译步骤。

安装过程中,Python 3.7会安装到`/usr/local/sbin/python-3.7`目录,这是确认安装成功的一个标志。安装完成后,如果看到相关的安装提示,说明安装已经顺利完成。

安装成功后,你可以通过执行特定指令轻松切换到Python 3.7环境。此时,查看默认的python命令路径,它应该是Python 2版本的指令位置,我们需要将其更改为指向`/usr/bin`下的Python 3.7。

最后,别忘了将pip3也通过软链接添加到`/usr/bin`,这样就可以方便地使用pip3工具了。至此,Python 3.7的安装和设置已大功告成。

CentOS下python软链接到python3

Centos7默认安装了python2.7.5,因为一些命令如yum使用的是python2.7.5,如果我们自己在Centos7环境安装了python3.7.x的话,可以设置python软链接到python3。

如下图可以看到在系统默认安装的python目录下,可执行文件python指向python2,python2又指向python2.7,也就是说Python命令执行的系统预装的Python2.7。我们现在需要在已经安装了python3的系统里,将python可执行文件指向python3,python3的安装可以参考我之前的文章。

先执行mv python python_bak命令备份python文件,如下图1所示。如果不备份的话,在执行python软连接到python3的命令时会报/usr/bin/python文件已存在的错误,如下图所示。

执行ln-s/usr/local/python/python3/bin/python3/usr/bin/python命令创建软连接。其中/usr/local/python/python3/bin/python3是我们之前安装python3的路径,执行python-V查看Python是否设置成功了。

接下来我们需要修改yum配置文件,因为yum使用python2,因此替换为python3后可能无法正常工作,需要设置为继续使用这个python2.7.5。修改yum配置文件(vi/usr/bin/yum),把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。另外如果存在vim/usr/bin/yum-config-manager的话也需要改成python2.7。

此外在CentOS环境下安装其他命令报如下错误时,需要执行 vim/usr/libexec/urlgrabber-ext-down将/usr/bin/python改为/usr/bin/python2.7。修改完成后再一次执行,发现安装成功了。

阅读剩余
THE END