MacOS 系统中如何设置 Python 虚拟环境

MacOS 系统中如何设置 Python 虚拟环境
最新回答
再美都是荒涼

2023-11-25 22:54:45

在MacOS系统中设置Python虚拟环境可通过pyenv与virtualenvwrapper工具链实现,具体步骤如下

一、安装基础开发工具
  1. 安装Xcode命令行工具终端执行以下命令,安装常用开发工具(如git、make等):

    xcode-select --install
  2. 安装Homebrew包管理器运行官方Ruby脚本安装Homebrew(建议先检查脚本内容):

    ruby -e "$(curl -fsSL
    https://raw.githubusercontent.com/Homebrew/install/master/install
    )"
二、配置pyenv管理Python版本
  1. 安装pyenv通过Homebrew安装pyenv,用于多版本Python管理:

    brew install pyenv
  2. 初始化pyenv将以下内容添加到~/.bash_profile(或~/.zshrc,取决于Shell类型),使pyenv自动加载:

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    生效配置

    source ~/.bash_profile # 或重新打开终端
  3. 安装依赖库安装zlib和SQLite以避免构建问题,并配置环境变量:

    brew install zlib sqliteexport LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib"export CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include"
  4. 安装指定Python版本例如安装Python 3.7.3(安装时间较长,可利用此间隙处理其他事务):

    pyenv install 3.7.3
  5. 设置全局Python版本将3.7.3设为默认版本:

    pyenv global 3.7.3
三、配置virtualenvwrapper管理虚拟环境
  1. 安装virtualenvwrapper使用当前Python版本的pip安装工具:

    $(pyenv which python3) -m pip install virtualenvwrapper
  2. 配置环境变量在~/.bash_profile中添加以下内容,定义虚拟环境存储路径并初始化脚本:

    echo 'export WORKON_HOME=~/.virtualenvs' >> ~/.bash_profileecho 'mkdir -p $WORKON_HOME' >> ~/.bash_profileecho '. ~/.pyenv/versions/3.7.3/bin/virtualenvwrapper.sh' >> ~/.bash_profile

    生效配置

    source ~/.bash_profile # 或重新打开终端

    初始化提示:终端会显示virtualenvwrapper创建的用户脚本目录(如premkproject、postactivate等)。

四、使用虚拟环境
  1. 创建虚拟环境例如创建名为test1的环境:

    mkvirtualenv test1

    验证环境:终端提示符会显示当前环境名(如(test1))。

  2. 切换虚拟环境

    列出所有环境:

    workon

    切换到指定环境(如test2):

    workon test2
  3. 退出虚拟环境使用deactivate命令返回系统环境:

    deactivate
五、推荐实践
  1. 项目关联虚拟环境

    进入项目目录(如~/src/pyfun),自动以目录名创建虚拟环境:

    mkdir -p ~/src/pyfun && cd ~/src/pyfunmkvirtualenv $(basename $(pwd))

    重新进入目录时,通过以下命令激活关联环境:

    cd ~/src/pyfunworkon .
  2. 刷新虚拟环境若依赖关系变更,可删除后重建环境(源代码不受影响):

    rmvirtualenv pyfun # 删除环境mkvirtualenv pyfun # 重新创建
六、优势说明
  • 隔离性:每个项目拥有独立的依赖环境,避免版本冲突。
  • 一致性:通过pyenv统一管理Python版本,确保开发、生产环境一致。
  • 高效性:virtualenvwrapper提供快捷命令(如workon、mkvirtualenv),简化操作流程。

注意事项

  • 若使用zsh,需将配置文件改为~/.zshrc。
  • 定期更新pyenv和virtualenvwrapper以获取新功能。