在Python网站上有关于如何在Linux上的同一台机器上安装和运行多个版本的Python的官方文档?同一台机器上的官方多个Python版本?
我可以找到博客帖子和答案的gazillions,但我想知道是否有一个“标准”官方的做法呢?
或者这是否全部依赖于操作系统?
在Python网站上有关于如何在Linux上的同一台机器上安装和运行多个版本的Python的官方文档?同一台机器上的官方多个Python版本?
我可以找到博客帖子和答案的gazillions,但我想知道是否有一个“标准”官方的做法呢?
或者这是否全部依赖于操作系统?
我认为它是完全独立的。只需安装它们,然后你就可以得到如下命令/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”。
它最依赖于您使用的包裹分发系统。例如,使用MacPorts,您可以安装多个Python软件包,并使用pyselect
实用程序轻松切换它们之间的默认值。在任何时候,您都可以通过提供完整路径来调用不同的Python解释器,并且可以通过为所有Python库和标头提供完整路径来链接它们。
所以基本上,无论你安装哪个版本,只要你保持你的安装独立,你就可以单独运行它们。
什么是包裹分发系统? – drozzy 2010-03-30 18:27:51
@drozzy:例如由OpenSuse使用的RPM,或由基于Debian的发行版或由Gentoo等使用的portage使用的RPM。基本上它是安装软件的工具。 – 2010-03-30 18:40:52
在Windows上,它们被安装到单独的文件夹“C:\ python26”和“C:\ python31”中,但可执行文件具有相同的“python.exe”名称。
我创建了另一个“C:\ python”文件夹,它包含分别作为“python26”和“python31”的包装的“python.bat”和“python3.bat”,并添加了“C:\ python”环境变量PATH
。
这使我可以在我的.bat Python包装中输入python
或python3
来启动我想要的一个。
在Linux上,您可以使用#!
技巧来指定脚本使用哪个版本。
如何安装不同的Python版本确实取决于操作系统。
但是,如果您使用的是Linux,则可以使用类似于pythonbrew或pythonz的工具来帮助您轻松管理和切换不同版本。
如果您需要在的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)
谢谢,主要的“make install”和次要的“make altinstall”都说明了这一点。 – drozzy 2010-03-30 19:00:30
在版本之间共享库的正确方法是什么?假设我有2.6的MySQLdb,然后安装2.7。我如何使MySQLdb可用于2.7? – romeroqj 2011-05-12 16:47:24
您提供的所有信息都是针对Unix/Linux和Mac OS的,因此OP显然不是“完全独立于”OS。对于Windows来说,这个过程非常不同,但同样简单。 – wwwayne 2015-12-08 01:10:22