Python环境与包管理

在计算机键盘上学习Python键,用于学习代码和构建 页

良好地管理包和环境,能够确保继续利用最新包的功能,同时确保在旧包版本上运行的项目不会崩溃。

本教程是一个初学者教程,学习如何使用与Anaconda发行版捆绑在一起的Conda进行包和环境管理。如果你是Python新手,并且你的系统上没有Anaconda,我们建议你在继续下一步之前通读本教程。

为什么是Conda

Conda是一个完整的环境和包管理工具。当涉及到跨平台的包安装和环境管理时,它确实很神奇。以下是人们在使用它时所体验到的好处:

  • Conda安装二进制格式的包。二进制包格式意味着所有的包依赖项,无论是基于Python还是非基于Python的,都被预编译在包中,从而确保包的顺利、快速安装。
  • Conda的核心是SAT solver。SAT-solver保证现有Python包的任何版本更新都符合环境要求,这意味着对现有Python代码没有影响。
  • Conda不仅支持包管理,还可以高效地处理环境。
  • 环境管理

    为什么?

    想象这样一个场景,你正在处理多个Python项目,这些项目在共享Python环境中工作,并且使用相同的包。如果一个项目需要更新其中一个共享包,在更新后,另一个项目可能无法按预期运行。这是因为更新后的包可能会修改/否决早期版本支持的功能。为了确保项目的功能不会相互干扰,强烈建议为这些项目维护单独的环境。

    怎么用?

    本节将介绍与Python环境管理相关的一些最常见的任务。具体清单如下:

  • 创造新环境
  • 列出现有环境
  • 使用特定环境
  • 删除特定环境
  • 使用.yml文件与其他人共享环境
  • 使用.yml文件创建新的Python环境
  • 1.创造新环境

    要创建新的Python环境,请打开Anaconda提示符,并使用以下命令:

    #### 语法conda create --name environment_name packages#### 命令conda create --name new_env pandas=0.22 numpy 

    解释

  • 创建新Python环境的语法以关键字conda开头,后跟另一个关键字create。
  • 然后传递参数——名称和实际的环境名称。
  • 最后,添加要安装的包的列表。
  • 如果不提供任何包名,那么环境创建将为空,这意味着即使python实例也不能在这个环境中使用。
  • 2.列出现有环境

    在处理多个项目时,常常会忘记所创建的各种环境的名称。使用以下命令获取现有环境的列表:

    #### 语法/命令conda env list

    注意,这个是基于关键字的命令,以conda开头,后跟env和list。

    3.使用特定环境

    要激活特定环境或从一个环境切换到另一个环境,请使用以下命令:

    #### 语法conda activate environment_name#### 命令conda activate new_env

    解释

  • 请注意,在命令提示符之前存在激活的环境名称。它表示环境现在处于活动状态。
  • 默认情况下,如果环境名称不存在,Conda将激活基本环境。
  • 使用命令提示符执行的任何python脚本都将在激活的环境中执行。
  • 4.删除特定环境

    使用Conda删除环境非常简单。我们可以使用以下命令进行相同的操作:

    #### 语法conda env remove --name environment_name#### 命令conda env remove --name new_env

    5.使用.yml文件与其他人共享环境

    与其他人共享Python项目时,还需要共享Python项目使用的完整环境。Conda提供了一个将环境详细信息导出到.yml文件中的选项。然后我们可以将此文件与项目文件夹一起共享。

    #### 语法conda env export --name environment_name --file file_name#### 命令conda env export --name new_env --file new_env.yml

    解释

  • 在命令中,我们在conda和env之后使用关键字export
  • –name参数是可选的。没有它,Conda将导出当前活动的环境
  • 参数–file提供命名导出文件的选项
  • 6.使用.yml文件设置新环境

    使用.yml文件设置Python环境很简单。将关键字导出替换为关键字create。请参阅下面的示例命令:

    #### 语法conda env create --name environment_name --file file_name#### 命令conda env create --name new_env --file new_env.yml

    解释

  • 与export命令一样,我们使用了参数–name&–file来指示要创建的新环境的名称和包含包详细信息的.yml文件。
  • 如果没有–name参数,新环境的名称将与.yml文件的名称相同。
  • 使用Conda进行包管理

    本节将介绍与包管理相关的一些最常见的任务。具体清单如下:

  • 列出特定环境中的包
  • 安装新程序包
  • 从特定通道安装包
  • 更新现有包
  • 正在删除程序包
  • 1.列出特定环境中的包

    要获得特定Python环境中所有包的列表,请先激活它(请参阅环境管理中的第3点)。完成后,在命令提示符下使用以下命令:

    #### 激活首选环境conda activate new_env#### 把所有的包列出来conda list

    2.安装新软件包

    使用以下命令在python环境中安装新包:

    #### 语法conda install package_name#### 命令conda install numpy

    在我们输入命令之后,Conda将解决环境需求并确定包依赖关系。然后它会提示我们检查是否要继续处理这些附加的依赖项。出现提示时,按字母y并按enter键。程序包将被安装。

    3.从特定通道安装包

    就像pip使用python包索引(PyPI)来获取包通道一样,Conda有一个基本通道,它是包二进制文件的默认源。

    如果在防火墙后面工作(在安全的公司环境中),或者如果所需的包在基本通道中不可用,我们需要从备用通道获取它们。

    在公司设置中,这些通道是由IT支持团队定制构建的。其中一个常用的备用通道是conda forge。安装过程保持不变。唯一的变化是添加了一个命令参数,该参数指示使用特定的通道进行包安装。

    #### 语法conda install -c channel_name package_name#### 命令conda install -c conda-forge geopandas

    注意在指定包名geopandas之前使用了命令行参数-c和通道名conda forge。

    4.更新现有包

    用另一个关键字install替换此更新。下面的命令示例:

    #### 语法conda update package_name#### 命令conda update pandas

    5.删除现有包

    若要删除现有包,请使用另一个关键字remove替换关键字update。下面添加的示例代码:

    #### 语法conda remove package_name#### 命令conda remove pandas

    结尾

    希望本教程提供了丰富的信息,我们现在已经有了满足包和环境管理需求的现成教程。

    声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

    (0)
    上一篇 2021年1月2日
    下一篇 2021年1月2日

    相关推荐