Mac管理多版本Python(pyenv, virtualenv,anaconda, venv)

本文介绍Python开发中遇到的问题及解决方案,包括使用pyenv管理多版本Python、利用virtualenv和pipenv创建独立虚拟环境的方法,以及通过conda管理和克隆环境。适用于需要处理多项目或多版本Python依赖的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python开发的时候,尤其是多个项目开发的时候,经常会遇到以下两个问题:

  1. 不同项目使用了不同版本的python
  2. 不同项目的第三方依赖不一样,例如一个依赖于 xxx-1.0.0,另一个依赖于xxx-1.2.0

为了解决以上问题,需要引入

Python版本管理:在一台机器上实现安装多个版本的python,

Python环境管理:实现对每个项目工程创建虚拟环境实现每个项目不同依赖。

python有众多的版本,不同版本之间支持的特性有差异,而且python2和python3是不向下兼容的,如果做机器学习方面工作又经常会使用anaconda,而anaconda则完全实现了自己的包管理。

为了应对这种局面,python出现了很多管理工具,例如:virtualenv、pipenv、pyenv等

pyenv

pyenv用于管理python多版本,例如安装多个版本python,如果使用windows系统则需要使用pyenv-win,pyenv可集成virtual-env插件

Mac上pyenv的安装与使用 - 掘金

基本使用

命令描述
pyenv --version查看 pyenv 的版本
pyenv versions罗列当前已安装的所有 python 环境,如果是当前正在使用的环境,则前面会有个 *
pyenv help查看帮助
pyenv init如果输入 pyenv 之后使用 tab 不补全,可以使用该命令进行初始即可使用补全命令

安装环境

命令描述
pyenv install -l显示可以安装的版本列表
pyenv install 版本号安装指定版本的 python
pyenv rehash更新本地数据库,安装指定版本的 python 后使用

环境应用

命令描述
pyenv global 版本号更改本机版本,重启不会造成再次更改
pyenv local 版本号会在当前目录创建 .python-version 文件,并记录设置的 python 环境,每次进入该目录会自动设置成该 python 环境
pyenv shell 版本号更改当前 shell 下使用的 python 版本,临时生效,优先级高于 global

virtualenv

virtualenv是python虚拟环境管理工具,可以为每个项目(对应一个目录)创建独立虚拟环境,不同的虚拟环境可以有不同的依赖库

#创建虚拟环境:
pyenv virtualenv 3.7.0 test  # 使用python 3.7.0 版本创建名字为test的虚拟环境


#查看所有虚拟环境
pyenv virtualenvs


#激活虚拟环境
pyenv activate test


#去掉当前环境
pyenv deactivate

pipenv

可以看做是virtualenv的升级

本文主要介绍使用pyenv、virtualenv、anaconda搭建python环境,基本可覆盖绝大多数python开发场景。

conda

#创建环境
conda create --name animatediff python=3.10.6

#创建环境的同时,安装一下包
conda create --name animatediff python=3.10.6 numpy pandas


#克隆已经存在的环境
conda create --name animatediff python=3.10.6--clone <baseEnv>



#激活环境
conda activate animatediff


#查看环境
conda info --envs

#看这个环境下安装的包和版本
conda list

#安装numpy sklearn包
conda install numpy scikit-learn

#删除你的环境
conda env remove -n animatediff

#查看所有的环境
conda env list

#删除环境
conda env remove -n 虚拟环境的名称

venv

venv是Python的一个标准库,用于创建和管理虚拟环境。

#创建环境,最后一个参数是路径,可以是相对路径,也可以是绝对路径
python3 -m venv .pt2
python -m venv /path/to/new/virtual/environment

#指定目录里的python,这样可以指定python版本
/opt/homebrew/bin/python3.10 -m venv .pt2


#激活环境
source .pt2/bin/activate
/path/to/new/virtual/environment/bin/activate




#退出
deactivate

参考:

Python多版本切换工具-Pyenv\virtualenv及Anaconda科学计算环境的配置_rolin-刘瑞的博客-CSDN博客

使用pyenv/virtualenv/anaconda构建python开发环境 

Mac管理多版本Python

mac下Python关于venv 的使用


 

### 如何使用 `python3 -m venv` 创建虚拟环境 要创建一个新的 Python 虚拟环境,可以按照以下方法操作。通过运行 `python3 -m venv` 命令来指定目标目录的位置,在该位置会生成一个包含独立 Python 解释器及其依赖项的新文件夹。 #### 步骤解析 执行命令时需注意所使用的 Python 版本以及路径设置。例如: ```bash python3 -m venv myenv ``` 上述命令会在当前工作目录下创建名为 `myenv` 的文件夹[^1]。此文件夹包含了虚拟环境所需的全部组件,包括特定版本的 Python 和 pip 工具。 #### 激活虚拟环境 一旦完成创建过程,则需要激活新建的虚拟环境才能正常使用它。对于不同操作系统而言,其激活方式略有差异: - **Linux/macOS**: ```bash source myenv/bin/activate ``` - **Windows**: ```cmd .\myenv\Scripts\activate ``` 当成功激活之后,终端提示符通常会发生变化以显示当前处于活动状态中的虚拟环境名称[^2]。 #### 验证配置情况 为了确认一切正常运作,可以通过下面这些指令来进行验证: - 查看正在使用的 Python 版本号: ```python python --version ``` - 列举已安装包列表并检查是否存在任何预设库之外的内容: ```python pip list ``` 如果一切都按预期发展的话,现在就可以在这个隔离的空间里自由地开发项目而无需担心会影响到全局系统上的其他应用或者脚本程序了! ### 注意事项 需要注意的是,利用这种方式构建出来的每一个单独实例都会严格绑定至最初定义它们的那个具体解释器实例上——也就是说如果你是在某个 Conda Base 下面启动了一个叫做 MyEnv1 的子域空间出来的话,那么这个新区域内部默认采用的就是原来那个基础层面上所提供的相同规格参数设定下的 Pyhton 实现形式[^3]。 另外值得注意的一点就是除了官方推荐的标准做法外还有其他的第三方解决方案可供选择比如 Virtualenv 或者直接借助 Anaconda 发行版自带的功能实现相似目的只不过各有优劣之处而已取决于个人喜好习惯等因素综合考量后再做决定即可[^4]. 最后提醒一点关于升级pip版本的问题也可以顺便解决一下以免后续遇到麻烦事发生比如说这样就能搞定整个流程当中涉及到的所有方面需求啦[^5]: ```bash python -m pip install --upgrade pip ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值