在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的结果:
- [root@rhce7 bin]# ll
- total
- -rwxr-xr-x. root root Aug : 2to3
- -rwxr-xr-x. root root Aug : idle
- -rwxr-xr-x. root root Aug : pydoc
- lrwxrwxrwx. root root Aug : python -> python2
- lrwxrwxrwx. root root Aug : python2 -> python2.
- -rwxr-xr-x. root root Aug : python2.
- -rwxr-xr-x. root root Aug : python2.-config
- lrwxrwxrwx. root root Aug : python2-config -> python2.-config
- lrwxrwxrwx. root root Aug : python-config -> python2-config
- -rwxr-xr-x. root root Aug : smtpd.py
- [root@rhce7 bin]#
make altinstall的结果:
- [root@rhce7 bin]# ll
- total
- -rwxr-xr-x. root root Aug : 2to3
- -rwxr-xr-x. root root Aug : idle
- -rwxr-xr-x. root root Aug : pydoc
- -rwxr-xr-x. root root Aug : python2.
- -rwxr-xr-x. root root Aug : python2.-config
- -rwxr-xr-x. root root Aug : smtpd.py
- [root@rhce7 bin]#
下载、编译、安装
- # Python 2.7.:
- wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
- tar xf Python-2.7..tar.xz
- cd Python-2.7.
- ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
- make && make altinstall
- # Python 3.4.:
- wget http://python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
- tar xf Python-3.4..tar.xz
- cd Python-3.4.
- ./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. ez_setup.py
- python3. 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. install [packagename]
- pip2. install --upgrade [packagename]
- pip2. uninstall [packagename]
安装结果如下所示: /usr/local/lib/pythonX.Y/site-packages/ (X.Y是python的版本)。
如果安装的是2.7版本,建议安装virtualenv,并学会使用它。 virtualenv可以创建隔离的python环境。如果是3.3版本,默认已经将virtualenv内嵌进来。
每个隔离的python环境可以有其自己的版本和程序包。很适用于有多个projects、或同一个project有多个版本的环境。
在rhel6上安装Python 2.7和Python 3.3的更多相关文章
- 在CentOS上安装Python
首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [root@nowamagic ~]# python -V Python 我们需要 ...
- 洗礼灵魂,修炼python(2)--python安装和配置
安装python和基本配置: python官方下载地址:www.python.org 打开网站,然后下载对应(32位和64位,windows版还是linux版)的版本,你可以选择python3或者2, ...
- Red Hat Enterprise Linux 6上安装Oracle 11G(11.2.0.4.0)缺少pdksh包的问题
RHEL 6上安装Oracle 11G警告缺少pdksh包 前言 相信很多刚刚接触学习Oracle的人,在RHEL6上安装11.2.0.3 or 11.2.0.4这两个版本的时候, 都遇到过先决条件检 ...
- python环境搭建-在Windows上安装python3.5.2
在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...
- windows上安装apache python mod_python
综述: windows上安装apache python mod_python的例子.教程甚至图解都不少:但作为新手还是会出错,而且一时无法快速排解. 在此笔者将根据自己的实践经验,给出几个需要注意 ...
- Visual Studio 2012 Ultimate 上安装 Python 开发插件 PTVS
1.我的环境 操作系统:32位 Win7 旗舰版 Service Pack 1 VS版本:Microsoft Visual Studio Ultimate 2012 版本 11.0.50727.1 R ...
- 在Win8.1(64位)系统上安装Scrapy(python 2.7.7)
为了在win8.1上安装scrapy折腾了好久,最终安装成功,总结步骤如下: 下载安装Visual C++ 2008 redistributables 安装lxml-3.2.4.win-amd64-p ...
- (三)Python在windows上安装
1.安装2.7--进入python官网(网址百度)下载python2.7 和python3.6(很小,2个程序后缀不一样?)2.安装到c:\python----next----advanced不动-- ...
- 原生的zfs在rhel6上的安装
原生的zfs在rhel6上的安装 ZFS(Zettabyte File System)作为一个全新的文件系统,全面抛弃传统File System + Volume Manager + Storage( ...
随机推荐
- python pandas.Series&&DataFrame&& set_index&reset_index
参考CookBook :http://pandas.pydata.org/pandas-docs/stable/cookbook.html Pandas set_index&reset_ind ...
- OkHttp 官方Wiki之【使用案例】
原文位置:https://github.com/square/okhttp/wiki/Recipes Recipes 食谱/知识点清单 We've written some recipes that ...
- svn报错can only be performed on a version resource [at this time].
报错 can only be performed on a version resource [at this time]. 有的文件能提交,有的文件不能提交 猜想:是不是因为缓存问题方法:tea ...
- 你需要知道的、有用的 Python 功能和特点
在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.考虑到这一点,我编辑了一些的你应该了解的Pyghon功能特色. 带任意数量参数的函数 你 ...
- Android生成带图片的二维码
一.问题描述 在开发中需要将信息转换为二维码存储并要求带有公司的logo,我们知道Google的Zxing开源项目就很好的帮助我们实现条形码.二维码的生成和解析,但带有logo的官网并没有提供demo ...
- 基于Sql Server 2008的分布式数据库的实践(终结)
学习.操作心得 以前在做网站程序的时候一直用的是MYSQL,但是网上搜到MYSQL不支持分布式操作,然后便开始查询MSSQL的分布式数据库的设计与操作,后来在网上找到了<基于SQL SERVER ...
- chrome的护眼插件
- XGBoost:在Python中使用XGBoost
原文:http://blog.csdn.net/zc02051126/article/details/46771793 在Python中使用XGBoost 下面将介绍XGBoost的Python模块, ...
- 45个很实用的 Oracle 查询语句小结
这里我们介绍的是 40+ 个很实用的 Oracle 查询语句,主要涵盖了日期操作,获取server信息.获取运行状态.计算数据库大小等等方面的查询. 这些是全部 Oracle 开发人员都必备的技 ...
- Mockito: InvalidUseOfMatchersException
异常报错信息: org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument match ...