0


pycharm中使用virtualenv 和 conda 创建虚拟环境的区别

创建虚拟环境的本质:在计算机上创建一个新的目录。该目录中包含一个独立的 Python 解释器和相关的库。这个目录可以看作是一个隔离的环境,与其他Python环境和系统环境相互独立。

激活虚拟环境的本质:在命令行终端中更改一些环境变量,将当前的Python解释器和库路径指向虚拟环境。这意味着在激活虚拟环境后,使用的是虚拟环境中的Python解释器和库,而不是系统默认的Python环境。

简单理解:虚拟环境提供了一种将特定的 Python 版本和包版本打包在一起,并与其他项目隔离的方法,以确保项目的依赖项和环境配置的独立性和可重复性。

区别:

    1 .virtualenv 创建的虚拟环境相对较轻量,独立于具体包管理工具(如pip),Conda 本身就是一个包管理工具(也能创建和管理虚拟环境)。   

    2. 在创建虚拟环境时,virtualenv 复制现有的python解释器(需提前安装),而 Conda随环境下载和安装的指定版本python解释器,与系统中的全局解释器独立。

** 补充:**pip适用于简单的Python包管理,在PyPI上获取包,易于使用和轻量;而conda适用于跨平台、语言和复杂依赖关系的管理,具有强大的依赖项解析能力,但可能需要更多的资源开销。

window下pycharm操作举例说明(下载三方包的时候需要激活环境,或者手动安装到环境中的site-packages文件夹中):

一、virtualenv 创建虚拟环境

新建一个python项目(项目名称为pydemo),位于D盘的PyCharm_Code文件夹中。

默认虚拟环境的名称为venv(可更改名称和位置)

打开项目文件,其中venv就是虚拟环境根目录。(删除 venv文件夹通常可以直接删除虚拟环境)

       其中, idea 文件夹是在项目自动生成,包含了项目的配置信息和IDE相关的设置。

虚拟环境中通常包含下列的子文件和子文件夹,实际上可能会根据不同的工具和配置而有所变化。

Lib 文件夹:包含了虚拟环境所使用的 Python库和模块。含 Python 标准库和三方库。

Scripts(Windows):存放虚拟环境中的可执行文件(如 Python解释器、pip 等)。

.gitignore文件: 为虚拟环境配置文件,用于指定 Git 版本控制系统忽略特定文件和文件夹的。

pyvenv.cfg 文件:为虚拟环境的配置文件,其中包含有关虚拟环境的元数据和设置。

二、 conda 创建虚拟环境

新建一个python项目(项目名称为pydemo1),位于D盘的PyCharm_Code文件夹中。

默认虚拟环境的名称为项目名称pydemo1(可更改名称和位置)

     在 Windows 系统上,可以通过运行 conda.exe 来使用 Conda 命令行工具。在 macOS 和 Linux 系统上,可以通过运行 conda 命令来使用 Conda。

为了方便对比,改了默认位置和名称:

   可见,使用conda创建的虚拟环境的目录结构更为复杂,这是因为conda在创建虚拟环境时会考虑更多的功能和用途,以满足包管理和环境隔离的需求。

bin 文件夹(在Unix/Linux系统中)或 Scripts 文件夹(在Windows系统中):与venv创建的虚拟环境中的可执行文件类似,包含Python解释器和其他命令。

lib 文件夹:存放虚拟环境中的Python库和模块。

include 文件夹:包含虚拟环境中的头文件,用于编译和构建扩展模块。

conda-meta 文件夹:存放与虚拟环境相关的元数据文件,如包的列表、版本和依赖关系等信息。

pkgs 文件夹:用于存放已安装的包文件。

envs 文件夹:用于存放不同环境的子目录。

   此外,conda还可以为虚拟环境提供其他功能,如支持不同的Python版本、管理依赖项和环境变量等。这些额外的功能可能导致虚拟环境目录结构更为复杂。

三、总结:当需要创建虚拟环境时,可按照以下总结来选择是使用 venv(即virtualenv) 还是 conda

使用 venv 创建虚拟环境:

    轻量级项目

    简单的依赖关系

    仅依赖于Python标准库和纯Python库

    不需要复杂的依赖管理功能

    希望使用Python内置的虚拟环境创建工具

使用 conda 创建虚拟环境:

    复杂的依赖关系

    涉及系统级依赖项、科学计算库或其他第三方库

    需要强大的依赖管理功能

    跨平台支持

   需要额外的功能,如环境复制、版本管理和包缓存等

   这些是一般情况下的建议,您可以根据项目的具体需求和个人偏好做出选择。此外,venv 是Python 3版本内置的标准库,而 conda 是一个独立的环境管理工具,需要单独安装。
标签: virtualenv conda python

本文转载自: https://blog.csdn.net/daring55/article/details/138452930
版权归原作者 D小白白° 所有, 如有侵权,请联系我们删除。

“pycharm中使用virtualenv 和 conda 创建虚拟环境的区别”的评论:

还没有评论