【问题标题】:On linux SUSE or RedHat, how do I load Python 2.7在 linux SUSE 或 RedHat 上,如何加载 Python 2.7
【发布时间】:2011-05-08 03:42:29
【问题描述】:

谁能提供在 SUSE 和 RedHat 上安装 python 2.7 版所需的步骤?那里的版本就像 2.4,我需要至少 2.6 才能使我的脚本正常工作。 所以安装后,我可以在 xTerm 中输入 Python 并获得 Python 2.7 命令行界面。

【问题讨论】:

  • “红帽”?你是说红帽企业 Linux?哪个版本?

标签: python linux rhel suse


【解决方案1】:

Linux 很棒,你仍然可以download the source 并且在大多数系统上都有自己编译版本的所有工具。

要通过键入python 从 xterm 获取 python cli,python bin 目录必须位于系统路径变量中(Red Hat exampleSuse example

【讨论】:

    【解决方案2】:

    下载源码和安装说明:

    https://www.python.org/download/

    注意:您应该检查最新版本的 python 2.7.x,因为它会经常更新。目前(2017 年 10 月),最新版本是 2.7.14,尽管此评论会变旧,新版本可能每 6 个月左右发布一次。

    wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz # Download
    tar xvfz Python-2.7.14.tgz # unzip
    cd Python-2.7.14 # go into directory
    ./configure
    make # build
    su # or 'sudo su' if there is no root user
    make altinstall
    

    (编辑:make install -> 根据 Ignacio 的评论进行 altinstall)。

    【讨论】:

    • +1 用于显示从源代码解压和“安装”软件的实际命令(对任何 linux 人来说都是如此):)
    • make install 会损坏系统 Python。请改用make altinstall
    • 如何更改系统路径以使python 2.7.*成为默认路径?
    • 如何将 python 27 安装到系统路径?因此,当我在终端中键入“python”或安装 ipython 时,它会识别 2.7。我在 redhat 6.5 上,当我输入“python --version”时,我得到 2.7.5。但是当我 sudo python setup.py install 我得到一个错误(需要 2.7 或更高版本)。
    • 如果我已经做了make install 怎么办?我该如何解决?谢谢!
    【解决方案3】:

    如果您可以使用 2.6,EPELpython26 包中为 RHEL 5 提供了它,尽管您需要使用 python2.6 来调用它,因为系统仍然需要 python 为 2.4 英寸命令运行。

    【讨论】:

    • so on RHEL 如果我想运行在 2.4 上无法运行的程序,我必须使用 2 个版本的 python 运行?
    • 必须拥有 2.4 版本,系统才能在正常预期范围内运行。可以并行安装任意数量的次要版本。
    • 那么我如何并行安装 2.7?
    • 要么从源代码构建它,要么获取 python26 SRPM 并将其更新到 2.7。
    【解决方案4】:

    您必须在 RHEL/Centos 上安装 Python 2.4;否则,工具开始损坏。不过,您可以进行双重安装;我在这里谈论这个:

    http://thebuild.com/blog/2009/10/17/wordpress-to-djangopostgresql-part-3-installing-apache-python-2-6-psycopg2-and-mod_wsgi/

    帖子大约是 2.6,但同样适用于 2.7。

    【讨论】:

    【解决方案5】:

    要安装 Python 2.7.2,请使用此脚本 - https://github.com/bngsudheer/bangadmin/blob/master/linux/centos/6/x86_64/build-python-27.sh

    它还确保您获得 sqlite 和 readline 支持。

    【讨论】:

    【解决方案6】:

    jimbob 博士接受的答案(使用make altinstall)让我大部分时间到达那里,python2.7/usr/local/bin 中,但我还需要安装一些第三方模块。好消息是 easy_install 从您正在运行的 Python 版本获取其安装位置,但我发现我仍然需要为 Python 2.7 安装 easy_install 否则我会得到ImportError: No module named pkg_resources。所以我这样做了:

    wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
    sudo -i
    export PATH=$PATH:/usr/local/bin
    sh setuptools-0.6c11-py2.7.egg
    exit
    

    现在我在/usr/local/bin 中有easy_installeasy_install-2.7,前者覆盖了我系统的2.6 版本的easy_install,所以我将其删除:

    sudo rm /usr/local/bin/easy_install
    

    现在我可以像这样为 2.7 版本的 Python 安装库:

    sudo /usr/local/bin/easy_install-2.7 numpy
    

    【讨论】:

    • 我必须执行yum -y install zlib-devel 才能安装 setuptools。
    【解决方案7】:

    RHEL 6.2 使用(有 Python 2.6,我需要 Python 2.7.3)所以:

    $ 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
    
      Name and summary matches only, use "search all" for everything.
    

    编辑:

    CentOS 6.x: http://dev.centos.org/centos/6/SCL/x86_64/python27/
    
    $ sudo sh -c 'wget -qO- http://dev.centos.org/centos/6/SCL/scl.repo >> /etc/yum.repos.d/scl.repo'
    $ scl enable python27 'python --version'
    python 2.7.5
    $ scl enable python27 bash
    $ python --version
    Python 2.7.5
    

    【讨论】:

    • scl 代表什么?这个回购稳定吗?和EPEL一样,是否承诺不干扰默认系统包?
    • @StefanLasiewski:scl 代表Software Collections,是的,他们确实明确地做出了这个承诺(这实际上是他们的目的)。 IntroductionGuide。 YumYumYum 建议的存储库由 Red Hat engineer 维护,并以 RHEL6 为目标。
    【解决方案8】:

    执行以下命令使 yum 和 python2.7 一样工作

    yum groupinstall -y development
    yum groupinstall -y 'development tools'
    yum install -y zlib-dev openssl-devel wget sqlite-devel bzip2-devel
    yum -y install gcc gcc-c++ numpy python-devel scipy git boost*
    yum install -y *lapack*
    yum install -y gcc gcc-c++ make bison flex autoconf libtool memcached libevent libevent-devel uuidd libuuid-devel  boost boost-devel libcurl-dev libcurl curl gperf mysql-devel
    
    cd
    mkdir srk
    cd srk 
    wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
    yum install xz-libs
    xz -d Python-2.7.6.tar.xz
    tar -xvf Python-2.7.6.tar
    cd Python-2.7.6
    ./configure --prefix=/usr/local
    make
    make altinstall
    
    
    
    echo "export PATH="/usr/local/bin:$PATH"" >> /etc/profile
    source /etc/profile
    mv /usr/bin/python /usr/bin/python.bak
    update-alternatives --install /usr/bin/python python /usr/bin/python2.6 1
    update-alternatives --install /usr/bin/python python /usr/local/bin/python2.7 2
    update-alternatives --config python
    sed -i "s/python/python2.6/g" /usr/bin/yum
    

    【讨论】:

    • 使用 altinstall 确实将其安装在 /usr/local 上。另一种方法是使用./configure --prefix=/usr/local 然后进行安装。在这两种情况下,系统 python 都将保持不变。
    【解决方案9】:

    如果你需要pip和安装工具,请在制作python2.7之前安装openssl和opessl-devl

     yum install openssl-devel
    

    那就关注https://stackoverflow.com/a/4149444/429476

    然后https://pypi.python.org/pypi/setuptools

    wget https://bootstrap.pypa.io/ez_setup.py
    python2.7 ez_setup.py
    

    然后安装pip

    wget https://bootstrap.pypa.io/get-pip.py
    python2.7 get-pip.py
    

    然后安装其他包 pip2.7 install package_name

    【讨论】:

      【解决方案10】:

      如果您想在 Oracle Linux 上安装 Python 2.7,您可以按照以下步骤进行:

      在 /etc/yum.repos.d/public-yum-ol6.repo 中启用软件集合。

      vim /etc/yum.repos.d/public-yum-ol6.repo
      
      [public_ol6_software_collections] 
      name=Software Collection Library release 1.2 packages for Oracle Linux 6 
      (x86_64) 
      baseurl=[http://yum.oracle.com/repo/OracleLinux/OL6/SoftwareCollections12/x86_64/][1] 
          gpgkey=file:[///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle][2] 
          gpgcheck=1 
          enabled=1 <==============change from 0 to 1
      

      对 yum 存储库进行此更改后,您只需运行 yum 命令即可安装 Python:

      yum install gcc libffi libffi-devel python27 python27-python-devel openssl-devel python27-MySQL-python
      

      使用以下变量编辑 bash_profile:

      vim ~/.bash_profile
      PATH=$PATH:$HOME/bin:/opt/rh/python27/root/usr/bin export PATH
      LD_LIBRARY_PATH=/opt/rh/python27/root/usr/lib64 export LD_LIBRARY_PATH
      PKG_CONFIG_PATH=/opt/rh/python27/root/usr/lib64/pkgconfig export PKG_CONFIG_PATH
      

      现在您可以使用 python2.7 和 pip 来安装 Python 模块:

      /opt/rh/python27/root/usr/bin/pip install pynacl
      /opt/rh/python27/root/usr/bin/python2.7 --version
      

      【讨论】:

        【解决方案11】:

        如果您在 ./configure 阶段收到错误提示

        配置:错误:在`/home//Downloads/Python-2.7.14'中: 配置:错误:在 $PATH 中找不到可接受的 C 编译器

        那就试试这个吧。

        no acceptable C compiler found in $PATH when installing python

        【讨论】:

          猜你喜欢
          • 2011-11-28
          • 1970-01-01
          • 2017-01-08
          • 1970-01-01
          • 1970-01-01
          • 2017-07-11
          • 2015-12-19
          • 2021-10-11
          • 2012-02-13
          相关资源
          最近更新 更多