今天在服务器上使用 pip 安装依赖包时,发生了一个报错如下,说是为了避免冲突所以建议使用虚拟环境来安装依赖,于是花了一些时间来整理了 python 虚拟环境使用相关的方案,谨以此文记录,以备后需。

虚拟环境是 python 开发中的一个重要概念,它允许你在项目之间隔离不同的 python 包,以避免可能的冲突,并且使得依赖项的管理更加简单和灵活。
方案一:使用自带的 venv
更古老的方案:pyvenv 是用于 python3.3 和 3.4 版本创建虚拟环境的工具,在 python3.6 版本中被弃用
venv 支持 python 3.3 +,如果是 python2 或者 python3 低版本可以跳过直接看方案二
创建虚拟环境
            
            
              python
              
              
            
          
          python3 -m venv test-env
        运行次命令后将会递归创建目标目录,并在该目录下新增一个 pyvenv.cfg 配置文件,文件内容大致如下
            
            
              bash
              
              
            
          
          home = /usr/bin # 指向运行此命令的 python 安装目录
include-system-site-packages = false
version = 3.10.13
        激活虚拟环境
Linux/macOS 中
            
            
              bash
              
              
            
          
          source test-env/bin/activate
        Windows 系统中
            
            
              bash
              
              
            
          
          .\test-env\Scripts\activate.bat
        激活虚拟环境后,会在命令提示符之前看到虚拟环境的名称(如: test-env)
安装依赖项
            
            
              bash
              
              
            
          
          pip install package1 package2 ...
        退出虚拟环境
            
            
              bash
              
              
            
          
          deactivate
        使用 zsh 时如何默认就激活指定的虚拟环境
编辑 ~/.zshrc 配置文件,加入 source 虚拟环境命令即可
方案二:virtualenv
virtualenv 是一个用于创建 python 虚拟环境的工具,兼容 python2.x 和 python3.x,下面是具体的使用方法
安装 virtualenv 包
            
            
              bash
              
              
            
          
          pip install virtualenv
        创建虚拟环境
            
            
              bash
              
              
            
          
          virtualenv venv
        
激活虚拟环境
Linux/macOS 中
            
            
              bash
              
              
            
          
          cd venv
source ./bin/activate
        Windows 中
            
            
              bash
              
              
            
          
          > cd venv
> .\Scripts\activate.bat
        退出环境
            
            
              bash
              
              
            
          
          deactivate
        删除环境
直接删除对应的虚拟环境目录即可