在终端中激活不同的Python版本

1 投票
1 回答
2753 浏览
提问于 2025-04-28 07:28

我刚把我的Mac重装成了Yosemite系统,并通过Homebrew安装了Python 2和Python 3。我还在我的bash_profile文件里设置了一些别名,这样我就可以选择想用哪个版本的Python了。所以如果我输入p3,就会启动python3的命令行。

我想知道有没有办法激活某个特定版本的Python,而不启动Python的命令行?比如说,如果我在终端里打开任何文件,它能直接使用我激活的那个版本吗?

谢谢!

如果这个问题在别的地方已经回答过了,我很抱歉,我搜索了很久但没找到相关的信息。

暂无标签

1 个回答

6

与其自己写脚本来管理不同的Python版本,不如使用一个社区广泛使用并经过测试的管理工具:pyenv。使用pyenv,你可以:

  1. 轻松地通过命令行安装多个不同的Python版本,不用担心它们之间会有冲突(比如可以用pyenv install 3.4.2来安装)。

  2. 如果你想把可用的包分开管理,可以从任何一个版本创建虚拟环境(例如用pyenv virtualenv 3.4.2 mypy3projectvenv)。

  3. 设置特定的环境或版本为活动状态,可以选择:
    • 全局设置(用pyenv global [version-or-venv]),
    • 在你配置的文件夹及其子文件夹中本地设置(用pyenv local [ver-or-venv]),这通常适用于你有特定版本或虚拟环境的项目,
    • 在当前终端会话中临时设置(用pyenv shell [ver-or-venv]),这可能最接近你想要的p3命令。

设置好你想使用的Python版本后,所有与Python相关的调用都会自动指向正确的目标(例如pythonpipeasy_installipython*、django-admin*)。运行Python脚本时不需要使用任何特殊命令,只需正常调用它们即可(或者在脚本开头加上标准的#!/usr/bin/env python)。

*如果在该版本/虚拟环境中安装了这些工具

如果你使用了pyenv-installer脚本

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

然后按照它告诉你的步骤,把几行代码添加到你的~/.bash_profile脚本中(然后执行它或者重启bash)……你就能在几秒钟内开始使用了。关键通常是通过brew安装所有Python构建所需的依赖(比如sqlite、OpenSSH、zlib等),但之后你就可以顺利使用了。

撰写回答