conda和cmd介绍
介绍
Conda
-
概述:
- Conda是一个开源包管理系统和环境管理系统,尤其适用于Python和R语言的开发环境。
- 它允许用户创建独立的虚拟环境,方便地管理依赖包和软件版本。
-
特点:
- 环境管理:可以创建、导入、导出和删除独立的环境。这对不同项目使用不同依赖版本时非常有用。
- 包管理:支持安装、更新和卸载包,能够解决包之间的依赖关系。
- 跨平台:支持在Windows、Unix和MacOS上运行。
-
优点:
- 避免软件包版本冲突。
- 简化科学计算和数据分析中的软件管理。
- 有大量的预编译包,方便安装(如NumPy、Pandas、SciPy等)。
CMD
-
概述:
- CMD(命令提示符)是Windows操作系统的一个命令行解释器,用于执行操作系统命令和脚本。
- 主要用于进行文件管理、程序执行、系统设置等低级操作。
-
特点:
- 命令行界面:用户通过输入文本命令来与操作系统进行交互。
- 操作范围:可以调用系统命令、批处理文件、运行可执行程序等。
-
优点:
- 强大的文件管理功能。
- 可以执行各类批处理脚本,进行自动化任务。
- 适合具备命令行操作经验的用户。
区别
-
用途:
- Conda专注于包和环境管理,特别是在数据科学和机器学习领域。
- CMD用于操作系统级别的任务,如文件管理和系统配置。
-
运行环境:
- Conda在其环境中运行,使用特定的Python和依赖。
- CMD是全系统的命令行界面,不限于特定的编程语言。
界面
conda
cmd
虚拟环境
Bash和创建的虚拟环境
Bash
-
概述:
- Bash(Bourne Again SHell)是一个Unix Shell,广泛用于Linux和MacOS等操作系统中。
- 它是一种命令行解释器,允许用户通过文本命令与操作系统进行交互。
-
功能:
- 命令行操作:执行文件和程序、管理文件系统、运行脚本等。
- 编程功能:支持条件语句、循环、函数等,可以编写复杂的脚本来自动化任务。
- 环境管理:可以设置和使用环境变量,影响运行在该Shell中的程序的行为。
-
特点:
- 跨平台(在多种Unix/Linux环境中运行)。
- 基本上用于与操作系统的交互,而不是专注于特定的编程语言环境。
创建的虚拟环境
-
概述:
- 虚拟环境是用于创建隔离的、独立的Python运行环境的工具,可以用
venv
、virtualenv
、conda
等命令创建。 - 每个虚拟环境都有自己的Python解释器和依赖包,互不干扰。
- 虚拟环境是用于创建隔离的、独立的Python运行环境的工具,可以用
-
功能:
- 隔离依赖:可以为每个项目安装特定版本的包,避免包之间的冲突。
- 简化部署:便于在不同项目中维护不同的依赖和库,而不影响全局Python环境。
-
特点:
- 创建的虚拟环境是特定于Python的,与特定的Python版本和依赖包绑定。
- 适用于Python开发者,特别是在进行数据科学、机器学习等项目时
注意
cmd和conda
cmd和conda可以比喻成window下的两个兄弟,cmd是大哥,conda是二哥,cmd中的python和conda中的python是两个东西
bash和conda中创建的虚拟环境
bash和conda中创建的虚拟环境可以比喻成父子,bash的python是老爸,conda虚拟环境中的python是儿子,其实在bash中,我们默认下载的python,他就会放在一个全局的环境当中,我们pip下载的库,也会放在一个全局的环境当中,当全局环境中包下载过多,就会造成一些版本的冲突。我们可以把bash和conda比喻成两个文件夹,bash的python用的是bash中的库,conda的python用的是conda的库,两者互不干扰。
jupyternotebook
我们会使用pip jupyter notebook下载,但是如果你在cmd中(不是虚拟环境)下载,他就会创建一个jupyter,相当于一个全局jupyter,如果你在conda(不是虚拟环境)中下载,他就会在conda中创建一个jupyter,相当于在conda中的一个全局jupyter。所以我们可以创建一个虚拟环境,虚拟环境中启动jupyter notebook,会使用虚拟环境中的内核
内核
在Jupyter Notebook中,**内核(Kernel)**是一个重要的概念,它负责执行代码和处理用户输入。具体来说,内核是一个与用户的代码执行环境,它连接到Jupyter Notebook,以便处理用户的代码请求并返回结果。
虚拟环境的使用
cmd中
创建虚拟环境
pip virtualenv 这个要自己下载
virtualenv -p python解释器路径 名字(虚拟环境的名字)# -p python解释器路径 # 虚拟环境使用指定版本的python解释器
# 例:virtualenv -p D:\Python\Python39\python.exe env# --system-site-packages # 指定虚拟环境继承系统的三方库
# 添加这个参数:检索库的时候,在当前虚拟环境找不到,会到系统的三方库中查找
# 不加这个参数:检索库的时候,只会在当前的虚拟环境中查找
# 例:virtualenv --system-site-packages env# 注意:通过系统python环境创建虚拟环境的时候,并不会将系统python环境中安装的第三方库安装到虚拟环境中
创建虚拟环境
1、创建项目文件夹
2、cmd命令行工具,进入到项目文件夹
3、执行命令:
virtualenv env_name
# 如:virtualenv env
激活虚拟环境
# cmd命令行工具,进入到虚拟环境下的Scripts目录
# 执行命令:
activate 或者 activate.bat# 执行之后,可以看到cmd命令工具中的路径前面多了一个标识:(env_name)
# 例:(env) C:\Users\Administrator\Desktop\MyPro02\env\Scripts>
# 此时,就是进入到了虚拟环境中,接下来所有的操作都是在当前虚拟环境中
操作虚拟环境
pip install requests# 如果不激活创建的虚拟环境,库会被安装到全局环境;# 激活虚拟环境后,则会安装在虚拟环境中python test.py# 使用虚拟环境中的python解释器执行test.py文件# 如果test.py文件中导入了某个包,会优先到虚拟环境中去查找相关的包
退出虚拟环境
# cmd命令行工具,进入到虚拟环境下的Scripts目录
# 执行命令
deactivate 或者 deactivate.bat# 退出虚拟环境之后,cmd命令工具中的路径前面的标识(env_name)会消失
删除虚拟环境
直接删除虚拟环境的文件夹
conda
conda常用的代码
conda -V # 查看版本(V是大写)
conda create -n env_name python=3.9 # 创建python虚拟环境(指定python版本)
conda create -n env_name2 --clone env_name1 # 克隆虚拟环境
conda create -n env_name python=3.9 包名=x.x # 创建虚拟环境的同时安装指定版本的三方库
conda create -p /projects/envs/myenv python=3.9 #在指定的路径下创建虚拟环境conda activate env_name # 切换/激活虚拟环境,Linux系统前面要加source
conda deactivate # 退出虚拟环境conda config --show # 查看虚拟环境默认位置
conda install 包名=version # 在base环境中安装包
conda install -n env_name 包名 # 在指定虚拟环境安装包
activate env_name # 激活虚拟环境,Linux系统前面要加source
conda remove -n env_name --all # 移除虚拟环境及所有包
conda remove env_name 包名 # 移除指定虚拟环境中的某个包
conda env list # 查看虚拟环境列表
conda list # 查看base环境包列表