我有一个运行CentOS的外壳。
对于我正在做的项目,我需要python 2.5+,但是centOS非常依赖2.4。
根据我的阅读,如果您升级到2.5,很多事情都会崩溃。
我想将2.5和2.4分开安装,但是我不确定该怎么做。到目前为止,我已经下载了源tarball,将其解压缩,然后执行了a./configure --prefix=/opt
我希望它结束的地方。我现在可以make, make install
吗?还是还有更多?
我有一个运行CentOS的外壳。
对于我正在做的项目,我需要python 2.5+,但是centOS非常依赖2.4。
根据我的阅读,如果您升级到2.5,很多事情都会崩溃。
我想将2.5和2.4分开安装,但是我不确定该怎么做。到目前为止,我已经下载了源tarball,将其解压缩,然后执行了a./configure --prefix=/opt
我希望它结束的地方。我现在可以make, make install
吗?还是还有更多?
/usr/local
默认情况下不会造成任何问题。或者,甚至更好,删除垃圾中心并安装debian:P
Answers:
您还可以使用EPEL-repository,然后sudo yum install python26
安装python 2.6
yum install python26
可能仅yum install python
取决于操作系统的风格/版本。
尝试epel
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
sudo yum install python26
python可执行文件将在以下位置提供 /usr/bin/python26
mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence
现在,python
命令将执行python 2.6
当遇到类似情况时,我通常会避开软件包管理器,特别是如果破坏某些东西(例如生产服务器)会很尴尬。相反,我将转到Activestate并下载其二进制软件包:
https://www.activestate.com/activepython/downloads/
通过运行一个脚本将其安装,该脚本将所有内容放置在一个文件夹中,并且不涉及任何系统文件。实际上,您甚至不需要root权限即可进行设置。然后,我将二进制文件的名称更改为apy26之类的名称,将该文件夹添加到PATH的末尾并开始编码。如果使用apy26 setup.py install
或使用virtualenv和easyinstall安装软件包,那么您将拥有所需的灵活的python环境,而无需使用系统标准的python。
编辑...最近,我完成了一些工作,为Linux构建了一个可移植的Python二进制文件,该二进制文件可以在没有外部依赖项的任何发行版上运行。这意味着便携式Python模块所需的任何二进制共享库都是构建的一部分,包含在tarball中并安装在Python的私有目录结构中。这样,您可以为应用程序安装Python,而不会干扰系统安装的Python。
我的github站点具有一个构建脚本,该脚本已在32位和64位安装的Ubuntu Lucid 10.04 LTS上进行了全面测试。我也在Debian Etch上构建了它,但是那是前一段时间,我不能保证我没有做任何更改。最简单的方法是将您选择的Ubuntu Lucid放在虚拟机中,使用git clone git://github.com/wavetossed/pybuild.git
然后运行脚本。
构建好之后,请在任何最新的Linux发行版上使用tarball。将其移动到目录存在一点麻烦,/data1/packages/python272
这是您patchelf
在移动目录之前必须运行include来设置解释器路径。这会影响/data1/packages/python272/bin
所有这些都是基于使用RUNPATH构建并复制依赖的共享库。即使该脚本位于多个文件中,它实际上还是一个以/etc/rc.d目录样式排列的长壳脚本。
无需做yum或制作自己的RPM。python26
从源代码构建。
wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
tar -zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure && make && make install
可能存在依赖项错误使用
yum install gcc cc
将安装路径(/usr/local/bin/python
默认情况下)添加到~/.bash_profile
。
它不会中断yum
或任何其他依赖的东西python24
。
不,就是这样。您可能要确保还安装了所有可选的库标头,因此您以后不必重新编译。它们在我认为的文档中列出。
另外,您也可以在标准路径下安装它make altinstall
。这样,它将不会覆盖您当前的默认“ python”。
如果您想使自己更轻松,网络上有CentOS RPM,可用于新的Python版本。例如:
晚了,但是OP应该已经使用Buildout或Virtualenv了,并且完全回避了问题。
我目前正在Centos服务器上工作,辛苦工作是一个恰当的名词,我可以向所有人保证,在使用耐火矛的等效软件的同时,我能够眨眼泪的唯一方法就是扩建。
# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
下载并安装Python 3.3.0
# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# tar xf Python-3.3.0.tar.bz2
# cd Python-3.3.0
# ./configure --prefix=/usr/local
# make && make altinstall
下载并安装Distribute for Python 3.3
# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python3.3 setup.py install
为Python 3.3安装和使用virtualenv
# easy_install-3.3 virtualenv
# virtualenv-3.3 --distribute otherproject
New python executable in otherproject/bin/python3.3
Also creating executable in otherproject/bin/python
Installing distribute...................done.
Installing pip................done.
# source otherproject/bin/activate
# python --version
Python 3.3.0
我取消安装了python(2.6.6)的原始版本并安装了2.7(with option make && make altinstall
),但是当我尝试使用yum安装某些东西时却不起作用。
所以我解决了这个问题,如下所示:
# ln -s /usr/local/bin/python /usr/bin/python
rpm -Uvh python-2.6.6-36.el6.i686.rpm
完成了
在终端上键入以下命令以在CentOS 7上安装Python 3.6:
$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
然后做 :
$ sudo yum install python36u
您也可以安装任何版本而不是3.6(如果需要),只需将版本号替换为36。