代码之家  ›  专栏  ›  技术社区  ›  Andriy Drozdyuk Pickels

同一台机器上有多个python版本?

  •  62
  • Andriy Drozdyuk Pickels  · 技术社区  · 15 年前

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

    我可以找到无数的博客文章和答案,但我想知道是否有一种“标准”的官方方式来做到这一点?

    或者这都依赖于操作系统?

    5 回复  |  直到 6 年前
        1
  •  64
  •   Felix Kling    15 年前

    我认为这是完全独立的。只需安装它们,然后您就可以使用命令,例如 /usr/bin/python2.5 /usr/bin/python2.6 . 链接 /usr/bin/python 到要用作默认值的。

    所有库都在单独的文件夹中(以版本命名)。

    如果您想手动编译这些版本,可以从python源代码的readme文件中找到:

    安装多个版本

    如果要安装多个版本的python,请在UNIX和Mac系统上安装 使用相同的安装前缀(--prefix参数配置 脚本)必须注意,您的主要python可执行文件不是 被其他版本的安装覆盖。所有文件和 使用“make altinstall”安装的目录包含主目录和次目录 版本,因此可以并排运行。”make install“还创建 $prefix/bin/python3,它指的是$prefix/bin/pythonx.y。如果您想 要使用相同前缀安装多个版本,必须决定 版本(如果有)是您的“主要”版本。使用安装该版本 “进行安装”。使用“make altinstall”安装所有其他版本。

    例如,如果要安装python 2.5、2.6和3.0,其中2.6是 主版本,您将在2.6版本中执行“make install” 其他目录和“make altinstall”。

        2
  •  23
  •   the Tin Man    8 年前

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

    我创建了另一个“c:\python”文件夹,其中包含“python.bat”和“python3.bat”,分别用作“python26”和“python31”的包装,并将“c:\python”添加到 PATH 环境变量。

    这可以让我打字 python python3 在我的.bat python包装中启动我想要的。

    在Linux上,您可以使用 #! 技巧指定脚本要使用的版本。

        3
  •  4
  •   Rodrigue    12 年前

    如何安装不同的python版本确实依赖于操作系统。

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

        4
  •  4
  •   Rotareti    7 年前

    如果需要在 乌班图/薄荷 : (应该在其他unix'上类似)

    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 像tarball一样移动到 /usr/src .

    将下载的包提取到位。 (将“x”替换为下载的版本)

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

    3)编译安装python源代码

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

    您的新python bin现在位于 /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)
    
        5
  •  0
  •   the Tin Man    8 年前

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

    因此,基本上,无论您以何种方式安装版本,只要您保持安装的独立性,就可以单独运行它们。