首页 > 编程知识 正文

conda离线创建虚拟环境(anaconda创建python虚拟环境)

时间:2023-05-06 03:22:40 阅读:84350 作者:935

Python虚拟环境是一个相对独立的孤立环境,其环境内的Python模块是独立的,不受外部系统的影响。

上一篇介绍了如何使用venv创建Python虚拟环境,以及如何使用传统的virtualenv/venv创建Python虚拟环境。 使用virutalenv/venv创建虚拟环境简单、可移植,是创建Python虚拟环境的最佳方法,但virtualenv/venv可能无法满足要求。 首先,使用virtualenv/venv时,不能在不同的虚拟环境中使用不同的Python版本。 其次,也有使用pip安装不方便的模块。 特别是在Windows系统中,例如web爬虫模块Scrapy,由于这些模块的复杂库依赖无法通过pip轻松解决,从而体现出conda的优势。

什么是conda?

conda是开源模块和虚拟环境管理系统。 可以把conda看成是pip和venv的合体。 也就是说,conda允许您创建、删除虚拟环境,以及安装、更新和删除库。 另外,venv只能创建Python的虚拟环境。 conda不限于Python,也可以用于r语言等其他语言。

要使用

安装conda

密码,必须首先安装Anaconda或迷你密码。

Anaconda是包含conda程序的大杂烩,也包含很多用于Numpy、Pandas、Seaborn等数据分析的模块。 Anaconda还拥有最适合数据分析和机器学习的Python IDE—Spyder。 Spyder非常容易使用,可以轻松查看程序内的变量和程序的输出。 使用Python进行数据分析时,请尝试使用Spyder。

相比之下,Miniconda是精简版,只包含conda和几个必需模块,卷小,安装方便。

如果您是conda初学者,或者需要经常使用数据分析模块,则建议使用Anaconda。 所有模块都可以马上使用。 如果你变成了condarzdlq,不想默认安装一堆自己不知道的库,只想用conda创建虚拟环境,只安装自己想要的库,那么Miniconda是更好的选择。

Anaconda或Miniconda的安装很简单。 根据操作系统选择合适的安装程序,然后一步一步安装即可。

Anaconda安装程序: https://www.anaconda.com /产品/Individual

迷你康达安装程序: https://Docs.Conda.IO/EN/latest /迷你康达. html

设置及启动conda

macos和Linux环境中,如果在安装时选择向. bashrc或. profile添加代码,新终端将自动启动代码。 如果未选择该选项,或者不希望缺省启动代码,则可以生成脚本以手动启动代码。 安装Anaconda或Miniconda时,该脚本的内容将显示在画面上。 例如,您可以在需要使用conda时手动运行该脚本,例如$HOME/activate_conda.sh。

在Windows上,可以搜索“Anaconda prompt”以启动conda运行时环境。 另外,如果您喜欢图形操作界面,可以使用anaconda导航器在搜索框中搜索anaconda导航器。 本文将重点介绍可用于任何操作系统的命令行的使用。

美国航空导航器

base环境

打开anaconda prompt或Linux/MacOS终端时,缺省环境为base。 这是conda自动生成的环境,如果没有创建新环境,则所有操作都将在base环境中进行。 如果只使用Anaconda进行数据分析,可能不需要创建虚拟环境,但如果要安装不同版本的模块或不同版本的Python,则需要使用创建新的虚拟环境。

创建新的环境

conda create-- names crapy-env一样,我们创造了一个叫做scrapy-env的环境。

这个环境只有系统的基本模块。 然后,可以根据需要安装所需的模块。

如果要指定环境中的Python版本,请使用

conda create-- name python38-env python=3.8在此,我们创建了一个名为python 38-env的虚拟环境,python版本指定为Python3.8

个是conda相比virtualenv/venv最重要的一点,因为在用virtualenv/venv时环境中Python的版本受系统Python版本的限制,而在使用conda时,环境里Python的版本则不受系统Python版本的限制。

列举所有的虚拟环境

conda info -e # or conda env list

激活虚拟环境

我们将使用环境scrapy-env:

conda activate scrapy-env

这里我们要安装的是网络爬虫模块Scrapy,安装Scrapy是使用conda的一个很好的例子。因为Scrapy有很复杂的库依赖,在Windows上用pip安装时经常会出现问题,所以在Windows上推荐使用conda来安装Scrapy。

conda install --channel conda-forge scrapy

在安装时我们可以看到除了主模块Scrapy,所有Scrapy运行所需要的程序和模块都会自动安装。特别需要注意的是,在该环境里面我们并有预先没安装Python,conda在安装Scrapy的时候会自动给我们下载和安装所需要的Python版本。

另外这里我们并没有指定Scrapy模块的版本,则默认安装其最新的版本,我们也可以指定安装某个特定的版本:

conda install --channel conda-forge scrapy=2.4

另外需要指出的是--channel指定的是该模块所来自的频道,常见的频道有anaconda和conda-forge,如果不指定频道,则默认从anaconda频道安装。对于特殊的模块还有其特定的频道,比如机器学习/深度学习模块PyTorch就有自己pytorch频道。同一个模块在不同频道里面的最新版本可能会不一样,在用conda安装某个模块时,可以在该模块的官网找到所推荐的频道。

如果我们需要更新某个模块,则可以使用

conda update --channel conda-forge scrapy

同样,在更新模块时,也需要指定频道,因为不同频道里面相同模块的最新版本可能会不一样。

复制环境

首先查看环境中安装的所有模块:

conda list

我们可以将环境中的模块设置导出到文件

conda list --explicit > conda-requirements.txt

使用--explict在输出中会列举模块的URL,这样便于查看和后续的安装。

我们可以从配置文件中克隆一个完全一样的环境,这个和用pip从requirements.txt文件克隆环境是一样的。

conda create --name scrapy-env-clone --file conda-requirements.txt

删除环境

当我们不需要某个环境时,可以将其删除:

conda env remove --name scrapy-clone

结语

本文介绍了conda的基本概念和常用命令,你可根据自己的需要来决定是使用venv还是conda来创建Python虚拟环境。一般情况是,如果不需要使用特定的Python版本或者特殊的有复杂库依赖的模块,可以使用venv创建环境,因为其更轻便、更容易复制和移植。但如果有上述这两个特殊情况时,则conda是更好的选择。以上列举的conda的命令在大多数情况下已经够用了,如果你需要学习其他conda命令,可以参考conda的官网。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。