我正在尝试使用以下步骤在RHEL上安装python3:
yum search python3
哪个回来了 No matches found for: python3
其次是:
yum search python
搜索结果中没有一个包含python3.我接下来应该尝试什么?
从RPM安装通常更好,因为:
你可以安装和卸载(正确)python3.
在安装时间的方式更快.如果您在具有多个VM的云环境中工作,则无法在每个VM上编译python3.
解决方案1:Red Hat和EPEL存储库
Red Hat已经通过EPEL存储库为CentOS 6和7添加了Python 3.4.
不幸:
pyvenv
没有捆绑在任何RPM中.您需要手动安装它(见下文).
pip3.6
被窃听并且不起作用.你需要使用pyvenv
.
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/
python3.6 -m venv /tmp/foo
注意:pyvenv
如果您不想使用,则可以开箱即用pip3.6
.
$ pyvenv-3.6 /tmp/foo WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`
注意:pyvenv
如果您不想使用,则可以开箱即用pyvenv
.
手动安装很容易:
下载(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
你通过)
除了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
您可以从此处下载RHEL6/CentOS6的源RPM和二进制RPM
这是从最新的Fedora开发源rpm到RHEL6/CentOS6的后端
使用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而不是系统默认值时,都必须运行最后一个命令.)
与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上.
编辑
# 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
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
我看到的所有答案都是要求从代码编译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
另请参阅链接
我使用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