2010-03-30 109 views
49

在Python网站上有关于如何在Linux上的同一台机器上安装和运行多个版本的Python的官方文档?同一台机器上的官方多个Python版本?

我可以找到博客帖子和答案的gazillions,但我想知道是否有一个“标准”官方的做法呢?

或者这是否全部依赖于操作系统?

回答

55

我认为它是完全独立的。只需安装它们,然后你就可以得到如下命令/usr/bin/python2.5/usr/bin/python2.6。链接/usr/bin/python到你想用作默认的那个。

无论如何,所有库都位于单独的文件夹中(以该版本命名)。

如果你想手动编译版本,这是从Python源代码的自述文件:

安装多个版本

在Unix和Mac系统,如果您打算安装多个版本Python 使用相同的安装前缀(--configure 脚本的前缀参数),您必须注意您的主要python可执行文件不是由安装不同版本的 覆盖。所有使用“make altinstall”安装的文件和 目录都包含主版本和次版本,因此可以并排居住。 “make install”还会创建 $ {prefix}/bin/python3,它指向$ {prefix} /bin/pythonX.Y。如果您打算 使用相同的前缀安装多个版本,则必须决定哪个版本(如果有)是您的“主要”版本。使用 “make install”安装该版本。使用“make altinstall”安装所有其他版本。例如,如果要安装Python 2.5,2.6和3.0,其中2.6是 的主版本,则可以在2.6 build 目录中执行“make install”,而在其他版本中执行“make altinstall”。

+3

谢谢,主要的“make install”和次要的“make altinstall”都说明了这一点。 – drozzy 2010-03-30 19:00:30

+4

在版本之间共享库的正确方法是什么?假设我有2.6的MySQLdb,然后安装2.7。我如何使MySQLdb可用于2.7? – romeroqj 2011-05-12 16:47:24

+0

您提供的所有信息都是针对Unix/Linux和Mac OS的,因此OP显然不是“完全独立于”OS。对于Windows来说,这个过程非常不同,但同样简单。 – wwwayne 2015-12-08 01:10:22

0

它最依赖于您使用的包裹分发系统。例如,使用MacPorts,您可以安装多个Python软件包,并使用pyselect实用程序轻松切换它们之间的默认值。在任何时候,您都可以通过提供完整路径来调用不同的Python解释器,并且可以通过为所有Python库和标头提供完整路径来链接它们。

所以基本上,无论你安装哪个版本,只要你保持你的安装独立,你就可以单独运行它们。

+0

什么是包裹分发系统? – drozzy 2010-03-30 18:27:51

+0

@drozzy:例如由OpenSuse使用的RPM,或由基于Debian的发行版或由Gentoo等使用的portage使用的RPM。基本上它是安装软件的工具。 – 2010-03-30 18:40:52

20

在Windows上,它们被安装到单独的文件夹“C:\ python26”和“C:\ python31”中,但可执行文件具有相同的“python.exe”名称。

我创建了另一个“C:\ python”文件夹,它包含分别作为“python26”和“python31”的包装的“python.bat”和“python3.bat”,并添加了“C:\ python”环境变量PATH

这使我可以在我的.bat Python包装中输入pythonpython3来启动我想要的一个。

在Linux上,您可以使用#!技巧来指定脚本使用哪个版本。

+0

要添加到这些.bat文件中的内容是什么? – Aidis 2014-05-09 19:14:26

+0

只会因为它非常适合Windows而提出这个答案,而问题在于Linux相关,否则就是很好的信息。 – 2015-09-27 20:56:35

+2

用户不再存在,我真想该批处理文件 – Wargog 2016-01-07 19:03:49

3

如何安装不同的Python版本确实取决于操作系统。

但是,如果您使用的是Linux,则可以使用类似于pythonbrewpythonz的工具来帮助您轻松管理和切换不同版本。

+0

我已经安装在配置/ make altinstall的Mac上。目前没有问题。 – Evgeny 2013-04-25 00:41:24

+0

'pyenv'在Ubuntu上运行良好:https://github.com/pyenv/pyenv – JHS 2018-03-01 16:30:17

1

如果您需要在的Ubuntu /薄荷安装Python(旁边的主要原因之一)的多个版本:(应该从事的其他Unixs类似)。

1)安装所需的程序包的源编译

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev 

2)下载并提取所需的Python版本

Download Python Source for Linux的压缩包,并将其移动到/usr/src

提取下载的软件包到位。 (替换“X与你下载的版本)

$ sudo tar xzf Python-x.x.x.tgz 

3)编译并安装Python源

$ cd Python-x.x.x 
$ sudo ./configure 
$ sudo make altinstall 

你的新的Python斌现在位于/usr/local/bin。您可以测试新版本:

$ pythonX.X -V 
Python x.x.x 
$ which pythonX.X 
/usr/local/bin/pythonX.X 

# Pip is now available for this version as well: 
$ pipX.X -V 
pip X.X.X from /usr/local/lib/pythonX.X/site-packages (python X.X) 
相关问题