RHEL 6.2 我有 python 2.6,但我需要使用yum
打包的默认 python 2.7(这样就不会搞砸,因为它是一个繁重的工作系统,我只需要 python 2.7,而不搞乱)。
我做了以下操作,但我仍然看到python
版本为 2.6,请问有指向此的指针吗?
$ cat /etc/issue
Red Hat Enterprise Linux Server release 6.2 (Santiago)
Kernel \r on an \m
$ python --version
Python 2.6.6
$ sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python27.repo >> /etc/yum.repos.d/scl.repo'
$ yum search python27
Loaded plugins: amazon-id, rhui-lb, security
scl_python27 | 2.9 kB 00:00
scl_python27/primary_db | 38 kB 00:00
========================================================================= N/S Matched: python27 =========================================================================
python27.i686 : Package that installs python27
python27.x86_64 : Package that installs python27
python27-expat-debuginfo.i686 : Debug information for package python27-expat
python27-expat-debuginfo.x86_64 : Debug information for package python27-expat
python27-python-coverage-debuginfo.i686 : Debug information for package python27-python-coverage
python27-python-coverage-debuginfo.x86_64 : Debug information for package python27-python-coverage
python27-python-debuginfo.i686 : Debug information for package python27-python
python27-python-debuginfo.x86_64 : Debug information for package python27-python
python27-python-markupsafe-debuginfo.i686 : Debug information for package python27-python-markupsafe
python27-python-markupsafe-debuginfo.x86_64 : Debug information for package python27-python-markupsafe
python27-python-simplejson-debuginfo.i686 : Debug information for package python27-python-simplejson
python27-python-simplejson-debuginfo.x86_64 : Debug information for package python27-python-simplejson
python27-python-sqlalchemy-debuginfo.i686 : Debug information for package python27-python-sqlalchemy
python27-python-sqlalchemy-debuginfo.x86_64 : Debug information for package python27-python-sqlalchemy
python27-runtime.i686 : Package that handles python27 Software Collection.
python27-runtime.x86_64 : Package that handles python27 Software Collection.
python27-babel.noarch : Tools for internationalizing Python applications
python27-build.i686 : Package shipping basic build configuration
python27-build.x86_64 : Package shipping basic build configuration
python27-expat.i686 : An XML parser library
python27-expat.x86_64 : An XML parser library
python27-expat-devel.i686 : Libraries and header files to develop applications using expat
python27-expat-devel.x86_64 : Libraries and header files to develop applications using expat
python27-expat-static.i686 : expat XML parser static library
python27-expat-static.x86_64 : expat XML parser static library
python27-python.i686 : An interpreted, interactive, object-oriented programming language
python27-python.x86_64 : An interpreted, interactive, object-oriented programming language
python27-python-babel.noarch : Library for internationalizing Python applications
python27-python-coverage.i686 : Code coverage testing module for Python
python27-python-coverage.x86_64 : Code coverage testing module for Python
python27-python-debug.i686 : Debug version of the Python runtime
python27-python-debug.x86_64 : Debug version of the Python runtime
python27-python-devel.i686 : The libraries and header files needed for Python development
python27-python-devel.x86_64 : The libraries and header files needed for Python development
python27-python-docutils.noarch : System for processing plaintext documentation
python27-python-jinja2.noarch : General purpose template engine
python27-python-libs.i686 : Runtime libraries for Python
python27-python-libs.x86_64 : Runtime libraries for Python
python27-python-markupsafe.i686 : Implements a XML/HTML/XHTML Markup safe string for Python
python27-python-markupsafe.x86_64 : Implements a XML/HTML/XHTML Markup safe string for Python
python27-python-nose.noarch : Discovery-based unittest extension for Python
python27-python-nose-docs.noarch : Nose Documentation
python27-python-pygments.noarch : Syntax highlighting engine written in Python
python27-python-setuptools.noarch : Easily build and distribute Python packages
python27-python-simplejson.i686 : Simple, fast, extensible JSON encoder/decoder for Python
python27-python-simplejson.x86_64 : Simple, fast, extensible JSON encoder/decoder for Python
python27-python-sphinx.noarch : Python documentation generator
python27-python-sphinx-doc.noarch : Documentation for python-sphinx
python27-python-sqlalchemy.i686 : Modular and flexible ORM library for python
python27-python-sqlalchemy.x86_64 : Modular and flexible ORM library for python
python27-python-test.i686 : The test modules from the main python package
python27-python-test.x86_64 : The test modules from the main python package
python27-python-tools.i686 : A collection of development tools included with Python
python27-python-tools.x86_64 : A collection of development tools included with Python
python27-python-virtualenv.noarch : Tool to create isolated Python environments
python27-python-werkzeug.noarch : The Swiss Army knife of Python web development
python27-python-werkzeug-doc.noarch : Documentation for python-werkzeug
python27-tkinter.i686 : A graphical user interface for the Python scripting language
python27-tkinter.x86_64 : A graphical user interface for the Python scripting language
编辑:(我也尝试过以下替代选项):
#!/bin/bash
# Install Python 2.7.3 alternatively
yum groupinstall "development tools" -y
yum install readline-devel openssl-devel gmp-devel ncurses-devel gdbm-devel zlib-devel expat-devel libGL-devel tk tix gcc-c++ libX11-devel glibc-devel bzip2 tar tcl-devel tk-devel pkgconfig tix-devel bzip2-devel sqlite-devel autoconf db4-devel libffi-devel valgrind-devel -y
mkdir tmp
cd tmp
wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar xvfz Python-2.7.3.tgz
cd Python-2.7.3
./configure --prefix=/opt/python2.7 --enable-shared
make
make altinstall
echo "/opt/python2.7/lib" >> /etc/ld.so.conf.d/opt-python2.7.conf
ldconfig
cd ..
cd ..
rm -rf tmp
[root@ip-10-59-143-73 bin]# pwd
/opt/python2.7/bin
[root@ip-10-59-143-73 bin]# tree
.
├── 2to3
├── idle
├── pydoc
├── python2.7
├── python2.7-config
└── smtpd.py
0 directories, 6 files
[root@ip-10-59-143-73 bin]# ./python2.7 --version
Python 2.7.3
[root@ip-10-59-143-73 bin]# python --version
Python 2.6.6
答案1
我可以建议使用类似的东西,而不是搞乱系统级Pythonvirtualenv
和...一起virtualenvwrapper
。这两个工具一起使得建立您自己的 Python + 库的本地副本变得非常简单,而不必尝试将 Python 的系统级安装保持在需要它的系统级软件的正常状态。
虚拟环境
virtualenv 是一个创建隔离的 Python 环境的工具。
它创建一个具有自己的安装目录的环境,不与其他 virtualenv 环境共享库(并且也可以选择不访问全局安装的库)。
虚拟环境包装器
virtualenvwrapper 是 Ian Bicking 的 virtualenv 工具的一组扩展。这些扩展包括用于创建和删除虚拟环境以及以其他方式管理开发工作流程的包装器,使您可以更轻松地同时处理多个项目,而不会在其依赖项中引入冲突。
现在大多数语言都提供这些类型的工具。请参阅我关于此问题的帖子,标题为:推荐用于统计的 Linux 发行版?对于其他语言也是如此。
答案2
Red Hat 支持在 RHEL 版本上安装较新版本的 Python 的方法是 Red Hat Software Collections:https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/2/html/2.0_Release_Notes/chap-RHSCL.html#sect-RHSCL-Features
RHSCL 2.0 包括 Python 2.7.8 和 3.4.2。
对于 CentOS 用户,RHSCL 的上游位于https://www.softwarecollections.org/
答案3
我在 RedHat 6.4 上使用 Python 2.7.4 进行科学计算。最简单的安装方法是使用想到Python 发行版 (EPD),在沙箱中安装预编译的二进制文件。它会相应地填充 gnome 菜单。您还可以编辑您的配置文件(我使用 ksh)并将路径设置为 enthought Python 而不是系统路径。如果您在某些特定应用程序中需要它,请使用软链接。 EPD 可免费供学术用途。如果您在生产中需要它,我建议您购买许可证或使用自己的沙箱。无论哪种方式都不会是免费的。
编辑:不要搞乱Python系统。 Yum 是用 Python 编写的。 RedHat 没有 Python 就无法工作!