【学习笔记】Macbook管理多个不同的Python版本

在MacBook上管理不同项目的不同Python版本,可以使用多种方法。以下是一些常见的方法:

1. 使用 pyenv

pyenv 是一个非常流行的工具,可以让你轻松安装和切换多个Python版本。以下是安装和使用 pyenv 的步骤:

安装 pyenv
  1. 安装依赖

    sh复制

    复制代码
    brew update
    brew install pyenv
  2. 配置环境变量 : 打开你的 ~/.zshrc~/.bash_profile 文件,添加以下内容:

    sh复制

    复制代码
    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init --path)"
    eval "$(pyenv virtualenv-init -)"
  3. 如果失败

当你在执行 `source ~/.bash_profile` 命令时,出现 `pyenv: no such command 'virtualenv-init'` 错误,通常意味着 `pyenv-virtualenv` 插件没有正确安装或配置。以下是解决这个问题的步骤:

1. 确认 `pyenv` 是否已正确安装

首先,确保 `pyenv` 本身已经正确安装。在终端中运行以下命令:

```bash

pyenv --version

```

如果看到版本信息,说明 `pyenv` 已经正确安装。

2. 安装 `pyenv-virtualenv` 插件

如果 `pyenv` 已经安装,但 `pyenv-virtualenv` 插件没有安装,你需要安装这个插件。可以使用 Homebrew 来安装:

```bash

brew install pyenv-virtualenv

```

安装完成后,需要将初始化脚本添加到你的 shell 配置文件中。假设你使用的是 `bash`,可以将以下两行添加到 `~/.bash_profile` 文件中:

```bash

if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"; fi

eval "$(pyenv virtualenv-init -)"

```

如果你使用的是 `zsh`,则将上述内容添加到 `~/.zshrc` 文件中。

3. 重新加载配置文件

添加完上述内容后,需要重新加载配置文件,使更改生效。在终端中运行:

```bash

source ~/.bash_profile

```

或者,如果你使用的是 `zsh`,运行:

```bash

source ~/.zshrc

```

也可以直接关闭并重新打开终端。

4. 检查 PATH 变量

确保 `pyenv` 的路径已经正确添加到 `PATH` 变量中。你可以通过以下命令检查:

```bash

echo $PATH

```

确保输出中包含 `~/.pyenv/shims`。如果不存在,可以将以下内容添加到 `~/.bash_profile` 或 `~/.zshrc` 文件中:

```bash

export PATH="HOME/.pyenv/shims:PATH"

```

然后重新加载配置文件。

5. 验证 `pyenv-virtualenv` 是否安装成功

最后,验证 `pyenv-virtualenv` 是否已经正确安装。运行以下命令:

```bash

pyenv commands

```

如果 `virtualenv` 命令出现在列表中,说明 `pyenv-virtualenv` 已经正确安装。

按照上述步骤操作后,你应该能够正常使用 `pyenv` 和 `virtualenv` 命令了。如果问题仍然存在,建议检查 `pyenv` 和 `pyenv-virtualenv` 的安装日志,确保没有错误信息。

  1. 重新加载配置文件

    sh复制

    复制代码
    source ~/.zshrc
使用 pyenv 安装和切换Python版本
  1. 安装Python 3.7

    sh复制

    复制代码
    pyenv install 3.7.15
  2. 设置全局Python版本

    sh复制

    复制代码
    pyenv global 3.7.15
  3. 在项目中使用特定版本 : 在项目目录下,创建一个 .python-version 文件,内容为 3.7.15

    sh复制

    复制代码
    echo 3.7.15 > .python-version

    进入项目目录后,pyenv 会自动切换到指定的Python版本。

2. 使用 conda

conda 是一个流行的包管理和环境管理工具,特别适合数据科学和机器学习项目。以下是安装和使用 conda 的步骤:

安装 conda
  1. 下载并安装Miniconda : 访问 Miniconda 官网,下载适合Mac的安装包并安装。

  2. 初始化 conda

    sh复制

    复制代码
    conda init zsh
  3. 重新加载配置文件

    sh复制

    复制代码
    source ~/.zshrc
使用 conda 创建和管理环境
  1. 创建新的环境

    sh复制

    复制代码
    conda create -n myproject python=3.7
  2. 激活环境

    sh复制

    复制代码
    conda activate myproject
  3. 安装依赖

    sh复制

    复制代码
    conda install numpy pandas
  4. 退出环境

    sh复制

    复制代码
    conda deactivate

3. 使用 virtualenvvirtualenvwrapper

virtualenv 是一个轻量级的虚拟环境管理工具,virtualenvwrapper 提供了一些方便的命令来管理虚拟环境。以下是安装和使用 virtualenvvirtualenvwrapper 的步骤:

安装 virtualenvvirtualenvwrapper
  1. 安装 virtualenv

    sh复制

    复制代码
    pip install virtualenv
  2. 安装 virtualenvwrapper

    sh复制

    复制代码
    pip install virtualenvwrapper
  3. 配置环境变量 : 打开你的 ~/.zshrc~/.bash_profile 文件,添加以下内容:

    sh复制

    复制代码
    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME/Devel
    source /usr/local/bin/virtualenvwrapper.sh
  4. 重新加载配置文件

    sh复制

    复制代码
    source ~/.zshrc
使用 virtualenvwrapper 创建和管理环境
  1. 创建新的环境

    sh复制

    复制代码
    mkvirtualenv myproject -p /usr/bin/python3.7
  2. 激活环境

    sh复制

    复制代码
    workon myproject
  3. 安装依赖

    sh复制

    复制代码
    pip install numpy pandas
  4. 退出环境

    sh复制

    复制代码
    deactivate

4. 使用 poetry

poetry 是一个现代的包管理和依赖管理工具,可以自动创建虚拟环境。以下是安装和使用 poetry 的步骤:

安装 poetry
  1. 安装 poetry

    sh复制

    复制代码
    curl -sSL https://install.python-poetry.org | python3 -
  2. 配置环境变量 : 打开你的 ~/.zshrc~/.bash_profile 文件,添加以下内容:

    sh复制

    复制代码
    export PATH="$HOME/.poetry/bin:$PATH"
  3. 重新加载配置文件

    sh复制

    复制代码
    source ~/.zshrc
使用 poetry 创建和管理项目
  1. 创建新的项目

    sh复制

    复制代码
    poetry new myproject
  2. 进入项目目录

    sh复制

    复制代码
    cd myproject
  3. 安装依赖

    sh复制

    复制代码
    poetry add numpy pandas
  4. 激活虚拟环境

    sh复制

    复制代码
    poetry shell
  5. 退出虚拟环境

    sh复制

    复制代码
    exit

总结

  • pyenv:适合需要管理多个Python版本的场景。

  • conda:适合数据科学和机器学习项目,提供丰富的科学计算包。

  • virtualenvvirtualenvwrapper:轻量级,适合简单的项目管理。

  • poetry:现代的包管理工具,自动创建虚拟环境,适合新项目。

选择适合你项目需求的工具,可以让你更高效地管理不同项目的不同Python版本。希望这些信息对你有帮助!

相关推荐
曲幽30 分钟前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱10 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵12 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio16 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636717 小时前
使用 Python 从零创建 Word 文档
python
Csvn21 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱2 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2