在rhel6上安装Python 2.7和Python 3.3

安装前,操作系统软件包准备
编译python要安装development tools。此外,还要安装一些其他的libs,没有这些libs,python的interpreter可能会无法正常工作

# 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

安装前要考虑的事项

1、Unicode

python 3.2 以及之前的版本,没有特殊的原因都建议python开启UTF-32支持功能,虽然会增加内存的使用,但会提高兼容性。 在3.3中,对Unicode的支持已经进行了重写,会尽可能将字符串以最高效的编码形式存储。

在python 2.7中,开启UTF-32支持功能,在configure时需要加上"--enable-unicode=ucs4";

在3.2版本中,开启UTF-32支持功能,在configure时需要加上"--with-wide-unicod"

2、Shared library

建议将python以shared library的方式进行编译。 目前linux的分发版本都是将其编译为shared library,而且有些第三方工具,比如:mod_wsgi和Blender都需要这些库。

有两种方式将python编译为shared library:

  (1)编译的时候,configure命令指定:  LDFLAGS="-Wl,-rpath /usr/local/lib"

  (2)在配置文件/etc/ld.so.conf中添加一行:  /usr/local/lib  然后执行以下命令,使动态链接生效:  /sbin/ldconfig

3、make altinstall

使用"make altinstall"来代替"nake install",这样可以避免一些问题的产生。"make install"会在文件系统中安装两个不同版本的python,增加出现问题时的诊断难度。

make install的结果:

[[email protected] bin]# ll
total 48
-rwxr-xr-x. 1 root root   101 Aug 17 09:05 2to3
-rwxr-xr-x. 1 root root    99 Aug 17 09:05 idle
-rwxr-xr-x. 1 root root    84 Aug 17 09:05 pydoc
lrwxrwxrwx. 1 root root     7 Aug 17 09:22 python -> python2
lrwxrwxrwx. 1 root root     9 Aug 17 09:22 python2 -> python2.7
-rwxr-xr-x. 1 root root 11366 Aug 17 09:22 python2.7
-rwxr-xr-x. 1 root root  1687 Aug 17 09:22 python2.7-config
lrwxrwxrwx. 1 root root    16 Aug 17 09:22 python2-config -> python2.7-config
lrwxrwxrwx. 1 root root    14 Aug 17 09:22 python-config -> python2-config
-rwxr-xr-x. 1 root root 18547 Aug 17 09:05 smtpd.py
[[email protected] bin]#

make altinstall的结果:

[[email protected] bin]# ll
total 48
-rwxr-xr-x. 1 root root   101 Aug 17 09:05 2to3
-rwxr-xr-x. 1 root root    99 Aug 17 09:05 idle
-rwxr-xr-x. 1 root root    84 Aug 17 09:05 pydoc
-rwxr-xr-x. 1 root root 11366 Aug 17 09:20 python2.7
-rwxr-xr-x. 1 root root  1687 Aug 17 09:20 python2.7-config
-rwxr-xr-x. 1 root root 18547 Aug 17 09:05 smtpd.py
[[email protected] bin]# 

下载、编译、安装

# Python 2.7.10:
wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
tar xf Python-2.7.10.tar.xz
cd Python-2.7.10
./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall

# Python 3.4.3:
wget http://python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
tar xf Python-3.4.3.tar.xz
cd Python-3.4.3
./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall

安装结束后就可以看到
/usr/local/bin/python2.7 或 /usr/local/bin/python3.4

下载和安装setuptools和pip
作为官方的包管理器,Setuptools已经替代了Distribute来管理Python Package Index中的包。每个python interpreter需要安装其自己的Setuptools。
pip建立在Setuptools基础上,可以提供其它一些管理包的功能

# First get the setup script for Setuptools:
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py

# Then install it for Python 2.7 and/or Python 3.4:
python2.7 ez_setup.py
python3.4 ez_setup.py

# Now install pip using the newly installed setuptools:
easy_install-2.7 pip
easy_install-3.4 pip

# With pip installed you can now do things like this:
pip2.7 install [packagename]
pip2.7 install --upgrade [packagename]
pip2.7 uninstall [packagename]

安装结果如下所示: /usr/local/lib/pythonX.Y/site-packages/ (X.Y是python的版本)。

如果安装的是2.7版本,建议安装virtualenv,并学会使用它。 virtualenv可以创建隔离的python环境。如果是3.3版本,默认已经将virtualenv内嵌进来。

每个隔离的python环境可以有其自己的版本和程序包。很适用于有多个projects、或同一个project有多个版本的环境。

时间: 2024-10-12 02:27:21

在rhel6上安装Python 2.7和Python 3.3的相关文章

在rhel6上安装11.2.0.3 or 11.2.0.4 db sofrware时报缺少"elfutils-libelf-devel-0.97" And "pdksh-5.2.14"

Installing 11.2.0.3 Or 11.2.0.4 (32-bit (x86) or 64-bit (x86-64) ) On RHEL6 Reports That Packages "elfutils-libelf-devel-0.97" And "pdksh-5.2.14" Are Missing (PRVF-7532) (Doc ID 1454982.1) Applies to: Oracle Universal Installer - Versi

在rhel6上安装oracle11g时遇到个小问题

[[email protected] database]$ ./runInstallerStarting Oracle Universal Installer...Checking Temp space: must be greater than 80 MB. Actual 8031 MB PassedChecking swap space: must be greater than 150 MB. Actual 2047 MB PassedChecking monitor: must be c

在CentOS上安装Python

首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [[email protected] ~]# python -V Python 2.4.3 我们需要自己安装Python 2.7.5.但是值得注意的是,我们必须不能破坏系统的环境.因为几个关键的实用应用程序依赖于Python 2.4.3.如果替换了系统的Python环境就会发生很多难以预见的错误,导致要重装系统. 下载和安装Python 有个一个非常重要的步骤是我们使用的是mak

在Linux CentOS 6.6上安装Python 2.7.9

在Linux CentOS 6.6上安装Python 2.7.9 CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上. checking for python... /usr/bin/python checking for python >= 2.7... not found configure: error: found python 2.6.6 (/usr/bin/python); required >= 2.7 yum中最新的也是Python

开始在CentOS 6.7上安装Python 2.7.8

Python的安装部署 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz tar zxf Python-2.7.8.tgz cd Python-2.7.8 ./configure --prefix=/usr/local/python make && make i

在Win8.1(64位)系统上安装Scrapy(python 2.7.7)

为了在win8.1上安装scrapy折腾了好久,最终安装成功,总结步骤如下: 下载安装Visual C++ 2008 redistributables 安装lxml-3.2.4.win-amd64-py2.7.exe(32位:lxml-3.2.4.win32-py2.7.exe) 安装pywin32-218.win-amd64-py2.7.exe(32位:pywin32-218.win32-py2.7.exe) 安装Twisted-13.2.0.win-amd64-py2.7.exe(32位:T

原生的zfs在rhel6上的安装

原生的zfs在rhel6上的安装 ZFS(Zettabyte File System)作为一个全新的文件系统,全面抛弃传统File System + Volume Manager + Storage(文件系统+卷管理+存储)的架构.全部的存储设备是通过ZFS 池进行管理,仅仅要把各种存储设备加 入同一个ZFS 池,大家就能够轻松的在这个ZFS 池管理配置文件系统. 1) 查看RHEL版本号 $ cat /etc/redhat-release Red Hat Enterprise Linux Se

Python在windows上安装

1.安装2.7--进入python官网(网址百度)下载python2.7 和python3.6(很小,2个程序后缀不一样?)2.安装到c:\python----next----advanced不动-----滚动条最后一个打叉的地方点击安装(第一行)--next---finsh3.cmd--运行python--?不存在----解决---win7笔记本--属性--高级--环境变量----找到PATH--双击在变量值后面--- ;C:\Python35\Scripts;C:\Python35\;?(3

windows上安装apache python mod_python

综述:   windows上安装apache python mod_python的例子.教程甚至图解都不少:但作为新手还是会出错,而且一时无法快速排解. 在此笔者将根据自己的实践经验,给出几个需要注意的地方,以总结自我.方便大家! PS:如果您关注的是linux上的mod_python安装,那么尽管去做好了,相信你不会遇到太多的麻烦! 1 确认安装版本:   目前推荐的都是 apache2.2 + python2.5 + mod+python3.3 : 注意,这里说的都是大版本号,即一般是版本号