文章目录
- conda —— 是一个包管理器和环境管理器
- 一、打开终端
- 二、环境配置
- 2.1、新建虚拟环境:conda create -n tensorflow36 -y
- 2.2、激活虚拟环境:conda activate tensorflow36
- 2.3、查看 Conda 的详细信息:conda info
- 2.4、在当前环境中,查看已安装的所有包和版本(列表):conda list
- 2.5、在当前系统上,查看已配置的所有 conda 环境和路径(列表):conda env list
- 2.6、退出已激活的虚拟环境,回到基础环境或默认环境:conda deactivate
- 2.7、删除指定的虚拟环境:conda env remove -n tensorflow36
- 2.8、复制指定的虚拟环境:conda create --name 新名称 --clone 原名称
- 2.9、导出指定的虚拟环境(到YAML文件中):conda env export -f tensorflow36.yml -n tensorflow36
- 2.10、导入指定的虚拟环境(从yaml文件中):conda env create -f tensorflow36.yml
- 三、(虚拟环境)配置路径
- 四、(虚拟环境)环境调用
- 3.1、(在Pycharm中)配置虚拟环境 + (在Terminal中)激活环境并使用
- 3.2、异常提示
- 3.2.1、(Pycharm:Terminal无效)IMPORTANT: You may need to close and restart your shell after running 'conda init'.
- 3.2.2、(Pycharm:Terminal无法激活conda环境)Failed to activate conda environment. Please open Anaconda prompt, and run `conda init powershell` there.
- 3.2.3、(Pycharm:找不到conda环境)Conda executable is not found.
- 3.2.4、更改 conda 虚拟环境的默认安装路径(默认C盘)
conda —— 是一个包管理器和环境管理器
Anaconda(中文名" 大蟒蛇 ")
:是一个开源的Python发行版本,包含了 conda 包管理器、Python 解释器以及大量科学计算和数据分析软件包(如:NumPy、SciPy、Pandas、Matplotlib、Jupyter 等)。
conda
:是 Anaconda 发行版中的一个包管理器和环境管理器。conda 是 Anaconda 发行版的核心组件之一,但它也可以作为独立的软件包安装在其他 Python 发行版中使用。
- 主要功能:
包管理
:通过 conda 命令,可以实现软件包的安装、更新和删除。环境管理
:通过 conda 命令,可以创建和管理多个独立的 Python 环境,每个环境可以拥有独立的软件包和依赖关系(如:不同的 Python 版本和软件包集合),从而实现不同项目或任务之间的隔离和管理。Anaconda 与 PyCharm 集成
:(1)在PyCharm中,可以配置 Anaconda 的 Python 解释器;(2)可以选择特定的 conda 环境作为项目的解释器。(3)可以在 PyCharm - Terminal 中创建、管理和切换 Anaconda 环境。跨平台支持
:支持在不同的操作系统上运行,包括 Windows、macOS 和 Linux。
虚拟环境(Virtual Environment)
:是一个独立于操作系统的隔离环境。通过创建虚拟环境,可以在同一台机器上管理多个独立的 Python 环境,每个环境都可以有自己独立的软件包和配置,从而实现项目之间的隔离和管理。
- 作用:
- 隔离环境:每个虚拟环境都是独立的,不会相互干扰。拥有自己的 Python 解释器和软件包库,可以防止不同项目之间的依赖冲突,确保项目的稳定性和可靠性。
- 版本控制:可以为每个项目创建一个特定版本的虚拟环境,并在其中安装所需的 Python 版本和软件包,从而确保项目在不同环境中的一致性。
- 依赖管理:可以安装、更新和删除项目所需的软件包和依赖项,而不会影响到其他项目。
- 类别
- 虚拟机(Virtual Machines): 是一种完全模拟的虚拟化技术,允许在一台物理计算机上运行多个独立的虚拟操作系统。
- 每个虚拟机具有自己的操作系统和应用程序,它们在相互隔离的环境中运行。
- 常见的虚拟机软件包括
VMware
、VirtualBox和Hyper-V。- 容器(Containers): 是一种轻量级的虚拟化技术,允许在同一操作系统内核上运行多个隔离的容器。
- 每个容器包含应用程序和其依赖,但它们共享相同的操作系统内核,因此更节省资源和更快速。
- Docker是最知名的容器化平台之一。
- Python虚拟环境:特定于Python编程语言的虚拟环境,用于管理Python项目的依赖关系。
- 每个环境可以有不同版本的Python解释器和依赖项。
- 常见的Python虚拟环境工具包括 virtualenv 和 conda。
- 操作系统级虚拟化:一种介于虚拟机和容器之间的虚拟化形式。
- 允许多个虚拟化的操作系统在同一物理主机上运行,共享相同的内核,提供了更高的效率和资源利用率。
- 网络虚拟化: 用于模拟网络拓扑,允许在单个物理网络上运行多个逻辑网络。
- 对于网络测试、隔离和虚拟专用云(Virtual Private Cloud)非常有用。
- 云虚拟环境:由云计算提供商提供(如:Amazon Web Services、Microsoft Azure、Google Cloud等)
- 允许用户租用虚拟机、容器集群和其他云资源,以满足其计算需求。
一、打开终端
二、环境配置
2.1、新建虚拟环境:conda create -n tensorflow36 -y
新建虚拟环境:
conda create -n tensorflow36
- 选项
--name 或 -n
用于指定要安装软件包的环境名称。- 其中:
tensorflow36
表示新虚拟环境的名称
2.2、激活虚拟环境:conda activate tensorflow36
激活虚拟环境:
conda activate tensorflow36
- 其中:
tensorflow36
表示新虚拟环境的名称
2.2.1、搜索可用的 Python 版本:conda search python=3.6
在包索引中,搜索可用软件包的版本和信息:conda search python
或 conda search python=3.6
2.2.2、安装指定的 Python 版本:conda install python=3.6 -y
pip是Python的软件包安装工具,可以用来安装、卸载、管理Python软件包。通常情况下,pip会与Python一起安装,可以在命令行中直接使用。
- 方式一(在新建的虚拟环境中,直接安装python)
- 新建虚拟环境:
conda create -n tensorflow36 python=3.6
- 其中:
tensorflow36
表示新虚拟环境的名称,Python=3.6
表示指定Python版本为3.6。- 方式二(新建并激活环境后,再安装python)
- 新建虚拟环境:
conda create -n tensorflow36
- 激活虚拟环境:
conda activate tensorflow36
- 在当前环境下,安装python:
conda install python=3.6
同理:其余软件包安装
- 安装软件包:
- 安装软件包(最新版本):
conda install python
- 安装软件包(指定版本):
conda install python=3.6
- 安装软件包(自动确认):
conda install python=3.6 -y
—— 选项-y
用于自动确认安装过程中的所有提示。- 卸载软件包:
conda uninstall python
查看 Python 版本号:
python --version
或python -V
启动 Python 解释器:python
- 进入 Python 解释器的交互模式,可以在其中输入 Python 代码,并立即执行。如:
3+2
- 退出 Python 解释器:
exit()
2.2.3、镜像安装,加速下载:pip install tensorflow_gpu==1.15 -i https://pypi.tuna.tsinghua.edu.cn/simple
在Conda安装过程中,需要执行以下任务:
- 确定当前系统中已安装的软件包及其版本。
- 识别需要安装的软件包及其版本。
- 解析软件包之间的依赖关系,以确保安装的软件包与现有软件包兼容。
- 从远程仓库下载需要安装的软件包及其依赖项。
备注:下载是最耗时的任务。
- Conda为什么越来越慢?
- 随着时间的推移,Conda环境中的安装包数量和版本会不断增加,导致Conda环境中的索引文件变得越来越庞大。
- 在安装新软件包时,Conda需要搜索并解析这些索引文件,以满足当前环境中所有软件包的依赖关系。因此,随着软件包数量的增加,搜索过程会变得更加耗时。
- Conda加速
- 轮子安装(.wheel):(1)避免索引时耗(2)避免网络问题
- 国内镜像(如:清华园):默认国外地址下载,耗时和网络问题。
2.3、查看 Conda 的详细信息:conda info
查看 Conda 的详细信息,包括版本、环境路径、当前激活的环境等。
2.4、在当前环境中,查看已安装的所有包和版本(列表):conda list
2.5、在当前系统上,查看已配置的所有 conda 环境和路径(列表):conda env list
实现方式:
conda env list
或conda info --envs
(缩写方式)
显示信息:
(1)虚拟环境的名称和安装路径
(2)若已激活虚拟环境,则激活的虚拟环境将用星号(*
)标记;反之若为基础环境,则不标记。
2.6、退出已激活的虚拟环境,回到基础环境或默认环境:conda deactivate
2.7、删除指定的虚拟环境:conda env remove -n tensorflow36
- (1)删除指定的虚拟环境,包括其相关的所有文件。 —— 删除后不可恢复,请谨慎使用。
- 报错提示:
CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again
- 解决方法:若当前环境(已激活环境)为待删除的指定环境,则必须先退出,方可执行。
- (2)在
Anaconda-env
路径下,直接删除指定的文件夹(效果等同)。
2.8、复制指定的虚拟环境:conda create --name 新名称 --clone 原名称
(在同一台计算机上)用于在当前系统中复制和共享环境配置。
复制虚拟环境的前后区别:
(1)新虚拟环境:继承原虚拟环境的包、依赖项以及对应的版本,而无需重新安装所有软件包
(2)新虚拟环境:继承原虚拟环境的路径 + 环境变量
(3)新虚拟环境:不继承原虚拟环境的名称,因此需要重新指定新名称
- 解决方案:
conda create --name 新名称 --clone 原名称
—— 将虚拟环境为" 原名称 ",重命名为 " 新名称 "。
2.9、导出指定的虚拟环境(到YAML文件中):conda env export -f tensorflow36.yml -n tensorflow36
(在不同的计算机上)用于在不同的系统上复制和共享环境配置,以确保在不同的环境中具有相同的软件包依赖关系和版本。
导出指定的虚拟环境:
conda env export --file tensorflow36.yml --name tensorflow36
- 选项
--name 或 -n
用于指定要导出的环境名称。- 选项
--file 或 -f
用于指定导出的 .yml 文件名,该文件中包含环境配置。- 备注:.yml 文件将保存在 cmd 操作路径下。
2.10、导入指定的虚拟环境(从yaml文件中):conda env create -f tensorflow36.yml
(在不同的计算机上)用于在不同的系统上复制和共享环境配置,以确保在不同的环境中具有相同的软件包依赖关系和版本。
导入指定的虚拟环境:
conda env create -f tensorflow36.yml
- 选项
--file 或 -f
用于指定导入的 .yml 文件名,该文件中包含环境配置。- 备注:自动安装在
Anaconda-env
路径下。- 备注:.yml文件与 cmd 操作路径必须一致,否则需输入完整路径。
三、(虚拟环境)配置路径
(1)在
Anaconda-envs
安装包路径下,保存所有已创建的虚拟环境,且每一个文件夹对应一个虚拟环境。
(2)在
Anaconda-Environment
软件下, 显示所有已创建的虚拟环境。
四、(虚拟环境)环境调用
3.1、(在Pycharm中)配置虚拟环境 + (在Terminal中)激活环境并使用
备注:
PyCharm-Terminal(终端)
和cmd(命令提示符)
是两个不同的命令行工具,前者用于在PyCharm中执行命令和操作。
在Pycharm中配置解释器(python.exe)
- 未配置过环境(Pycharm右下角):
- 已配置过环境:
Run / Debug Configurations + (选择)Python interpreter
3.2、异常提示
3.2.1、(Pycharm:Terminal无效)IMPORTANT: You may need to close and restart your shell after running ‘conda init’.
"""异常提示"""
C:\Users\Administrator>conda activate py39
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If using 'conda activate' from a batch script, change your invocation to 'CALL conda.bat activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- cmd.exe
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
- 解决方案:
(1)
初始化Shell
- 方法一:在命令提示符中,输入命令
conda init cmd.exe
- 方法二(不常用):在PowerShell窗口中,输入命令
conda init powershell
PowerShell
:是Microsoft开发的一种任务自动化和配置管理框架。它包括一个命令行外壳和一个关联的脚本语言,基于.NET框架。PowerShell不仅可以用于简单的命令行操作,还可以用于复杂的脚本编写和自动化任务。它具有强大的功能和灵活性,特别适用于系统管理员和开发人员。- 启动PowerShell:
在Windows上,按 Win + X 键,选择Windows PowerShell
(2)
重启Shell
- 关闭并重新打开命令提示符、PowerShell窗口、Pycharm - Terminal,以使环境变量设置生效。
(3)激活Conda环境:conda activate py39
3.2.2、(Pycharm:Terminal无法激活conda环境)Failed to activate conda environment. Please open Anaconda prompt, and run conda init powershell
there.
- 解决方案:
(1)conda环境配置:File + Settings + Tools + Terminal + Shell path + C:\WINDOWS\system32\cmd.exe + OK
(2) conda环境激活:新建Tab - Local(2)
3.2.3、(Pycharm:找不到conda环境)Conda executable is not found.
- Conda executable is not found.
- 若conda环境中没有安装python,则操作无效。
- 解决方案:
Add Python Interpreter + Conda Environment + conda Executable + D:\Anaconda3\condabin\conda.bat + OK
3.2.4、更改 conda 虚拟环境的默认安装路径(默认C盘)
- Anaconda更改虚拟环境安装路径
- 修改 Anaconda 权限:
定位 Anaconda 安装路径(D:\Anaconda3),点击Anaconda3文件夹 + 鼠标右键 + 属性 + 安全 + 编辑 + Users + (选择)完全控制
- 更改虚拟环境的默认安装路径
- 查看conda虚拟环境的安装路径(第一个为默认路径):
conda config --show envs_dirs
- 查看conda虚拟环境信息:
conda info
- 查看conda虚拟环境列表:
conda env list 或 conda info --envs
- 添加conda虚拟环境的安装路径(并设置为默认路径):
conda config --add envs_dirs D:\Anaconda3\envs
- 删除conda虚拟环境的安装路径(确保指定路径唯一):
conda config --remove envs_dirs <其他路径>
- 忽略任何显示路径不存在的错误
- 测试结果:删除后仍然会显示已删除路径,但再次添加路径将不会提示
Warning: 'D:\Anaconda3\envs' already in 'envs_dirs' list, moving to the top
)