• python 虚拟环境管理


    管理多个虚拟环境有助于维护 Python 项目的可靠性、稳定性和可维护性,特别是在开发多个项目或处理不同依赖关系的情况下
    这使得 Python 更加灵活,能够适应各种项目和需求。可以使用工具如 venv、virtualenv 或 conda 来创建和管理这些虚拟环境。

    venv vs conda

    venv 和 conda 都是用于创建和管理虚拟环境的工具,但它们有一些区别,包括其用途、安装方式和支持的语言。以下是它们的主要区别:

    • 用途:
      • venv:是 Python 的内置虚拟环境管理器,专门用于 Python 程序的虚拟环境创建和管理。
      • conda:是一个跨平台的包管理系统,可以用于创建和管理虚拟环境,但它不仅限于 Python。它还可以管理多种编程语言的环境,包括 Python、R、Julia 等。
    • 安装方式:
      • venv:随 Python 安装而来,无需单独安装。
      • conda:需要单独安装 Anaconda 或 Miniconda,这两者是包含 conda 的发行版。安装后,你可以使用 conda 命令来管理虚拟环境和软件包。
    • 多语言支持:
      • venv:主要用于 Python 虚拟环境的管理,不适用于其他编程语言。
      • conda:支持多种编程语言,可以创建虚拟环境,安装各种软件包,以满足多种编程项目的需求。
    • 跨平台性:
      • venv:适用于所有支持 Python 的平台,包括 Windows、Linux 和 macOS。
      • conda:同样支持多种平台,但由于其跨语言特性,也可用于管理非 Python 项目。
    • 包管理:
      • venv:主要用于创建 Python 虚拟环境,不提供软件包管理功能。你需要使用 pip 等工具来安装和管理 Python 软件包。
      • conda:除了虚拟环境管理外,还提供了强大的包管理功能。你可以使用 conda 命令安装、更新和管理各种软件包,而不仅仅是 Python 软件包。

    venv 使用

    venv 可用于创建和管理独立的 Python 环境,以隔离不同项目的依赖关系。以下是如何使用它的步骤:

    #1.初始化空的项目:py_venv_test
    py_venv_test % ls 
    
    #2. 创建myenv1
    py_venv_test % python -m venv myenv1
    
    #3.查看myevnv1目录结构
    py_venv_test % tree -L 2
    .
    ├── bin
    │   ├── Activate.ps1
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── normalizer
    │   ├── pip
    │   ├── pip3
    │   ├── pip3.9
    │   ├── python -> python3
    │   ├── python3 -> /Library/Developer/CommandLineTools/usr/bin/python3
    │   └── python3.9 -> python3
    ├── include
    ├── lib
    │   └── python3.9
    │       └── site-packages
    └── pyvenv.cfg
    
    
    
    #4. activate
    py_venv_test % source myenv1/bin/activate
    
    #5. 安装第三方包
    (myenv1) py_venv_test % pip install bs4
    (myenv1) py_venv_test % pip install lxml
    (myenv1) py_venv_test % pip install requests pyyaml
    
    #6.输出第三方包到requirements.txt
    (myenv1) py_venv_test % pip freeze > requirements.txt
    (myenv1) py_venv_test % cat requirements.txt
    beautifulsoup4==4.12.2
    bs4==0.0.1
    certifi==2023.7.22
    charset-normalizer==3.3.1
    idna==3.4
    lxml==4.9.3
    PyYAML==6.0.1
    requests==2.31.0
    soupsieve==2.5
    urllib3==2.0.7
    
    #7.退出myenv1
    (myenv1) py_venv_test % deactivate  
    
    #8 删除myenv1
    ## 如果你完成了项目或想删除虚拟环境,只需删除虚拟环境目录即可。在终端中运行:
    py_venv_test % rm -r myenv 
    
    #9 创建myenv2 并 activate
    py_venv_test % python -m venv myenv2
    py_venv_test % source myenv2/bin/activate
    
    #10. myenv2加载 myenv1的requirements.txt
    pip install -r requirements.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64

    conda 使用

    conda 是一个流行的开源包管理工具,主要用于数据科学和科学计算领域。它的主要功能包括创建和管理虚拟环境以及安装、更新和管理软件包。

    1. 安装 Miniconda 或 Anaconda:

    首先,你需要安装 Miniconda 或 Anaconda,这是包含 conda 的发行版。Miniconda 是一个较小的发行版,而 Anaconda 包含更多的预安装软件包。

    2.设置环境变量

    py_venv_test %  export PATH="/path/to/conda/bin:$PATH"
    py_venv_test % source ~/.zshrc
    
    py_venv_test % conda  --version
    conda 23.9.0
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.使用conda

    #1.创建虚拟环境myenv3 & 并安装 Python 3.8
    py_venv_test % conda create --name myenv3 python=3.8
    The following packages will be downloaded:
    
        package                    |            build
        ---------------------------|-----------------
        pip-23.3                   |   py38hecd8cb5_0         2.6 MB
        python-3.8.18              |       h5ee71fb_0        14.4 MB
        setuptools-68.0.0          |   py38hecd8cb5_0         946 KB
        wheel-0.41.2               |   py38hecd8cb5_0         109 KB
        ------------------------------------------------------------
                                               Total:        18.0 MB
    
    #2.激活虚拟环境
    py_venv_test % conda activate myenv3
    
    #3. conda 安装软件包
    (myenv3)  py_venv_test % conda install numpy
    
    #4. 查看虚拟环境中已安装的软件包列表
    (myenv3)  py_venv_test % conda list
    
    #5. 退出虚拟环境
    (myenv3) py_venv_test % conda deactivate
    
    
    #6. 删除虚拟环境
    py_venv_test % conda env remove --name myenv3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
  • 相关阅读:
    DCM:一个能够改善所有应用数据交互场景的中间件新秀
    WindowsServer下配置Mysql主从同步---Mysql主从复制同步001
    十年架构五年生活-09 五年之约如期而至
    Selective Search学习笔记
    机器学习算法(7)—— 朴素贝叶斯算法
    如何申请公司邓白氏编码(D-U-N-S Number)
    微信小程序 ---- 慕尚花坊 购物车
    C++ 图书馆管理系统
    【机器学习入门项目10例】(九):聚类算法用于降维,KMeans的矢量量化应用(图片压缩)
    18 张图带你彻底认识这些数据结构
  • 原文地址:https://blog.csdn.net/it_freshman/article/details/134032055