【Python虚拟环境】新建 + 激活 + 安装 + 查看 + 退出 + 删除 + 复制 + 导出 + 导入

文章目录

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 pythonconda 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 --versionpython -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 listconda 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

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖墩会武术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值