在 linux SUSE 或 RedHat 上,如何加载 Python 2.7
Posted
技术标签:
【中文标题】在 linux SUSE 或 RedHat 上,如何加载 Python 2.7【英文标题】:On linux SUSE or RedHat, how do I load Python 2.7 【发布时间】:2011-05-08 03:42:29 【问题描述】:谁能提供在 SUSE 和 RedHat 上安装 python 2.7 版所需的步骤?那里的版本就像 2.4,我需要至少 2.6 才能使我的脚本正常工作。 所以安装后,我可以在 xTerm 中输入 Python 并获得 Python 2.7 命令行界面。
【问题讨论】:
“红帽”?你是说红帽企业 Linux?哪个版本? 【参考方案1】:Linux 很棒,你仍然可以download the source 并且在大多数系统上都有自己编译版本的所有工具。
要通过键入python
从 xterm 获取 python cli,python bin 目录必须位于系统路径变量中(Red Hat example、Suse 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,EPEL 在python26
包中为 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。
【讨论】:
在 RH 上安装 python 时,此链接也可以使用,而 python 2.4 保持原样:tecadmin.net/install-python-2-7-on-centos-rhel【参考方案5】:要安装 Python 2.7.2,请使用此脚本 - https://github.com/bngsudheer/bangadmin/blob/master/linux/centos/6/x86_64/build-python-27.sh
它还确保您获得 sqlite 和 readline 支持。
【讨论】:
我还稍微更新了这个脚本,以适应对我有用的东西...要点在这里:gist.github.com/Brant/9993559 网址不存在【参考方案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_install
和easy_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,是的,他们确实明确地做出了这个承诺(这实际上是他们的目的)。 Introduction。 Guide。 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://***.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
【讨论】:
以上是关于在 linux SUSE 或 RedHat 上,如何加载 Python 2.7的主要内容,如果未能解决你的问题,请参考以下文章
Linux系统中ubuntu,redhat,debain,centos,fedora,suse 区别