当前位置:  开发笔记 > 编程语言 > 正文

在RHEL上安装Python 3

如何解决《在RHEL上安装Python3》经验,为你挑选了9个好方法。

我正在尝试使用以下步骤在RHEL上安装python3:

yum search python3

哪个回来了 No matches found for: python3

其次是:

yum search python

搜索结果中没有一个包含python3.我接下来应该尝试什么?



1> Samuel Phan..:

从RPM安装通常更好,因为:

你可以安装和卸载(正确)python3.

安装时间的方式更快.如果您在具有多个VM的云环境中工作,则无法在每个VM上编译python3.

解决方案1:Red Hat和EPEL存储库

Red Hat已经通过EPEL存储库为CentOS 6和7添加了Python 3.4.

不幸:

pyvenv没有捆绑在任何RPM中.您需要手动安装它(见下文).

pip3.6被窃听并且不起作用.你需要使用pyvenv.

[EPEL]如何在CentOS 6和7上安装Python 3.4

sudo yum install -y epel-release
sudo yum install -y python34

# Install pip3
sudo yum install -y python34-setuptools  # install easy_install-3.4
sudo easy_install-3.4 pip

如果您想使用pyvenv,可以pyvenv在virtualenv中安装以下内容:

pyvenv /tmp/foo

但是如果你想让它开箱即用,你可以在你的pyvenv:中添加这个bash函数(别名):

sudo yum install -y epel-release
sudo yum install -y python36 python36-pip
解决方案2:IUS社区存储库

IUS社区为RHEL和CentOS提供了一些最新的软件包.背后的人来自Rackspace,所以我认为他们非常值得信赖......

https://ius.io/

在这里为您检查正确的回购:

https://ius.io/GettingStarted/

[IUS]如何在CentOS 6上安装Python 3.5

python3.6 -m venv /tmp/foo

注意:pyvenv如果您不想使用,则可以开箱即用pip3.6.

[IUS]如何在CentOS 7上安装Python 3.5

$ pyvenv-3.6 /tmp/foo
WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`

注意:pyvenv如果您不想使用,则可以开箱即用pyvenv.


使用此解决方案,您将如何为python34安装pip?

2> gecco..:

手动安装很容易:

    下载(Python.org上可能有更新的版本):

    $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
    

    拉开拉链

    $ tar xf Python-3.* 
    $ cd Python-3.*
    

    准备编译

    $ ./configure
    

    建立

    $ make
    

    安装

    $ make install
    

    或者,如果您不想覆盖python可执行文件(更安全,至少在某些发行版yum需要python为2.x,例如RHEL6) - 您可以python3.*作为并发实例安装到系统默认情况下altinstall:

    $ make altinstall
    

现在,如果您需要备用安装目录,则可以传递--prefix给该configure命令.

示例:在/ opt/local中"安装"Python,只需添加--prefix=/opt/local.

在后make install步:为了使用新的Python安装,它可能是,你还是要在[前缀]/bin中的添加$PATH和[前缀]/lib下的$LD_LIBRARY_PATH(根据的--prefix你通过)


您使用过:bzip2 -cd Python-3.2.2.tar.bz2 | tar xvf - 这也是一个更简单的可能性:tar jxvf Python-3.2.2.tar.bz2
如果在安装python` reffer到[http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python]时,在$ PATH中找不到可接受的C编译器](http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python)
对我来说,生成的二进制文件名为python3.5,并且位于此处:[root @ machine python3.5]#其中python3.5 ** / usr / local / bin / python3.5 **所以您可能想要添加一个为了方便起见,与此符号名为python3的符号链接
`./configure --with-ensurepip = install`启用`pip3`,否则编译后你不会安装`pip3`.

3> rsc..:

除了gecco的回答,我还会改变第3步:

./configure

至:

./configure --prefix=/opt/python3

然后安装后你还可以:

# ln -s /opt/python3/bin/python3 /usr/bin/python3

这是为了确保安装不会与安装了yum的python冲突.

请参阅我在互联网上找到的解释:

http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source


为什么`/ opt`?`/ usr/local`专门用于此目的,而``/ configure`没有明确的`--prefix`将放置它.

4> 小智..:

您可以从此处下载RHEL6/CentOS6的源RPM和二进制RPM

这是从最新的Fedora开发源rpm到RHEL6/CentOS6的后端



5> Paul Draper..:

使用SCL回购.

sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python33.repo >> /etc/yum.repos.d/scl.repo'
sudo yum install python33
scl enable python27

(每次要使用python27而不是系统默认值时,都必须运行最后一个命令.)


在阅读了redhat文档后,我需要做的是; `scl enable python33 bash`启动一个新的shell,它将启用python 3或`scl enable python33'python hello.py'`,它将在当前shell中使用python 3运行你的python文件

6> 小智..:

与Python 2.7和3.3一起,Red Hat Software Collections现在包含Python 3.4 - 所有这些都在RHEL 6和7上工作.

RHSCL 2.0文档位于https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/

还有很多文章在developerblog.redhat.com上.

编辑

按照以下说明在RHEL 6/7或CentOS 6/7上安装Python 3.4:

# 1. Install the Software Collections tools:
yum install scl-utils

# 2. Download a package with repository for your system.
#  (See the Yum Repositories on external link. For RHEL/CentOS 6:)
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm
#  or for RHEL/CentOS 7
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm

# 3. Install the repo package (on RHEL you will need to enable optional channel first):
yum install rhscl-rh-python34-*.noarch.rpm

# 4. Install the collection:
yum install rh-python34

# 5. Start using software collections:
scl enable rh-python34 bash



7> 小智..:

Python3最近作为Python34添加到EPEL7中.

目前正在努力制定关于如何在EPEL7中为Python3打包的包装指南.

请参阅https://bugzilla.redhat.com/show_bug.cgi?id=1219411
和https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html



8> Jay Rajput..:

我看到的所有答案都是要求从代码编译python3或安装二进制RPM软件包。这是启用EPEL(企业Linux的额外软件包)然后使用yum安装python的另一个答案。RHEL 7.5(Maipo)的步骤

yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36

另请参阅链接



9> IRSHAD..:

我使用python 2.7遇到了同样的问题.按照以下步骤成功升级到3.6.你也可以试试这个 -

    在升级版本之前看到的是2.x.

    python --version
    Python 2.7.5
    

    使用以下命令将python升级到3.x版本 -

    yum install python3x

    x替换为您想要的版本号.

    即用于安装python 3.6执行

    yum install python36
    

    之后,如果你想将这个python设置为你的默认版本,那么在bashrc文件中添加

    vi~/.bashrc

    alias python='python3.6'
    

    执行bash命令以应用设置

    bash 
    

    现在您可以看到下面的版本

    python --version
    Python 3.6.3
    

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有