开发者

python项目环境切换的几种实现方式

开发者 https://www.devze.com 2025-12-01 09:23 出处:网络 作者: 青山覆白雪
价值2999元 Java视频教程限时免费下载
专为Java开发者设计,涵盖核心技术、架构设计、性能优化等
立即下载
目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目是不同的选项,有三种选项3.1 项目venv(虚拟环境)3.2 基础conda环境3.3 自定义conda环境主要区别对比最佳实践4.在自定义
目录
  • 1. 如何在不同python项目中,安装不同的依赖
  • 2. 如何切换到不同项目的工作空间
  • 3.创建项目是不同的选项,有三种选项
    • 3.1 项目venv(虚拟环境)
    • 3.2 基础conda环境
    • 3.3 自定义conda环境
    • 主要区别对比
    • 最佳实践
  • 4.在自定义环境中,【从基础解释器继承软件包】和【可用于所有项目】两个选项的区别
    • 4.1 【从基础解释器继承软件包】
    • 4.2【可用于所有项目】
    • 4.3 实际对比示例
    • 4.4 选择建议
      • 选择【继承软件包】的情况:
      • 选择【可用于所有项目】的情况:
    • 最佳实践

    1. 如何在不同python项目中,安装不同的依赖

    通过PyCharm创建python项目之后,在目录下会自动创建虚拟环境.venv,从而解决项目依赖冲突的问题。简而言之.venv是一个独立的、隔离的python工作空间。

    它里面包含了三个主要部分:

    1. 独立的 Python 解释器副本

      • .venv/bin/(linux/MAC)或 .venv/Scripts/(Windows)目录下,会有一个 pythonpython.exe 文件。这是从你选择的那个基础Python(比如系统自带的Python,或者你安装的Anaconda中的Python)复制过来的一个副本。
      • 当你激活这个虚拟环境后,你在终端里输入的 pythonpip 命令,指向的都是这个副本,而不是你电脑的全局Python。
    2. 独立的包安装目录

      • .venv/lib/python3.x/site-packages/ 目录下,是专门用来存放你为这个项目安装的第三方库的地方。
      • 当你在这个激活的虚拟环境中使用 pip install requests 时,requests 库及其依赖就会被安装到这个文件夹下,而完全不会影响到你电脑的全局Python环境或其他项目的虚拟环境。
    3. 环境配置脚本

      • 同样在 binScripts 目录下,有用于激活(Activate)停用(Deactivate) 这个虚拟环境的脚本。

    2. 如何切换到不同项目的工作空间

    Windows CMD

    # 进入项目目录
    cd 你的项目路径
    
    # 激活虚拟环境
    .venv\Scripts\activate
    
    # 安装包(现在pip会使用虚拟环境中的)
    pip install 包名称
    
    # 退出虚拟环境
    deactivate
    

    3.创建项目是不同的选项,有三种选项

    python项目环境切换的几种实现方式

    3.1 项目venv(虚拟环境)

    脚本创建,也可以通过PyCharmkplqBeckRD创建

    # 创建
    python -m venv myproject_venv
    
    # 激活 (Windows)
    myproject_venv\Scripts\activate
    
    # 激活 (Linux/Mac)
    source myproject_venv/bin/activate
    

    特点:

    • 项目专属,隔离在项目目录内
    • 轻量级,只包含Python基础环境和pythonpip
    • 依赖与系统Python完全隔离
    • 适合单一项目开发

    3.2 基础conda环境

    # 查看基础环境
    conda info
    
    # 在基础环境中安装包
    conda install numpy
    

    特点:

    • Conda安装时创建的默认环境
    • 全局共享,所有项目默认使用
    • 容易造成包冲突和版本污染
    • 不推荐用于项目开发

    3.3 自定义conda环境

    # 创建自定义环境
    conda create -n myenv python=3.9
    
    # 激活环境
    conda activate myenv
    
    # 安装包
    conda install pandas matplotlib
    

    特点:

    • 独立的环境,可指定Python版本
    • 可以创建多个不同用途的环境
    • 支持非Python依赖(如C库)
    • 适合复杂项目和多版本需求

    主要区别对比

    特性项目venv基础conda自定义conda环境
    隔离性完全隔离无隔离完全隔离
    Python版本继承系统PykplqBeckRDthon固定可指定任意版本
    包管理工具pipconda/pipconda/pip
    跨平台优秀优秀优秀
    依赖类型仅PythonPython+非PythonPython+非Python
    资源占用轻量重量中等

    最佳实践

    1. 永远不要在基础conda环境中安装项目依赖
    2. 为每个项目创建独立环境
    3. 使用环境文件共享配置:
    # conda
    conda env export > environment.yml
    conda env create -f environment.yml
    
    # venv
    pip freeze > requirements.txt
    pip install -r requirements.txt
    

    选择哪种方式取决于项目需求:简单Python项目用venv,复杂数据科学项目或需要特定Python版本时用conda环境。

    4.在自定义环境中,【从基础解释器继承软件包】和【可用于所有项目】两个选项的区别

    4.1 【从基础解释器继承软件包】

    含义:

    • 新环境会继承基础环境(base)中已安装的所有包
    • 相当于创建一个"子环境",包含基础环境的所有依赖

    创建方式:

    # 命令行方式(默认行为)
    conda create -n myenv --clone base
    # 或者
    conda create -n myenv
    

    特点:

    • 优点www.devze.com快速开始,无需重新安装常用包
    • 缺点:容易造成包冲突,环境不够"干净"
    • 文件位置:通常在conda的envs目录下

    使用场景:

    • 需要基础环境中的大量现有包
    • 临时测试或快速原型开发

    4.2【可用于所有项目】

    含义:

    • 创建一个完全独立、干净的环境
    • 不继承任何现有环境的包
    • 环境全局可用,任何项目都可以使用

    创建方式:

    # 创建干净环境
    conda create -n myenv python=3.9 --no-deps
    # 或者指定少量必要包
    conda create -n myenv python=3.9 pip
    

    特点:

    • 优点:环境干净,避免包冲突
    • 优点:可重复性好,依赖明确
    • 缺点:需要重新安装所有依赖
    • 文件位置:在conda的envs目录下,全局可访问

    4.3 实际对比示例

    # 场景1:继承基础环境的包(不推荐)
    conda create -n inherited_env --clone base
    conda activate inherited_env
    conda list  # 会显示大量基础环境的包
    
    # 场景2:创建干净环境(推荐)
    conda create -n clean_env python=3.9 pip
    conda activate clean_env
    conda list  # 只显示python和pip等基本包
    

    4.4 选择建议

    选择【继承软件包】的情况:

    # 当你确实需要基础环境中的包时
    conda create -n data_analysis --clone base
    conda activate data_analysis
    # 现在你已经有了pandas, numpy等数据科学包
    

    选择【可用于所有项目】的情况:

    # 大多数项目开发场景
    conda create -n myproject python=3.9
    conda activate myproject
    # 按需安装依赖,保持环境干净
    conda install pandas numpy
    pip install -r requirements.txt
    

    最佳实践

    1. 推荐使用【可用于所有项目】

      • 环境干净,依赖明确
      • 避免隐式依赖带来的问题
      • 便于依赖管理和复现
    2. 使用环境文件确保一致性

      # environment.yml
      name: myproject
      dependencies:
        - python=www.devze.com3.9
        - pip
        - pip:
          - -r requirements.txt
      
    3. 项目结构建议

      myproject/
      ├── environment.yml    # Conda环境配置
      ├── requirements.txt   # Pip依赖
      └── src/
      

    总结:对于正式项目开发,强烈建议选择【可用于所有项目】创建干净环境,这样可以确保依赖管理的清晰和项目的可复现性。

    到此这篇关于python项目环境切换的几种实现方式的文章就介绍到这了,更多相关python 环境切换内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0
    价值2999元 Java视频教程限时免费下载
    专为Java开发者设计,涵盖核心技术、架构设计、性能优化等
    立即下载

    精彩评论

    暂无评论...
    验证码 换一张
    取 消