关于虚拟环境中遇到的bug
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环境包列表
相关文章:
关于虚拟环境中遇到的bug
conda和cmd介绍 介绍 Conda 概述: Conda是一个开源包管理系统和环境管理系统,尤其适用于Python和R语言的开发环境。它允许用户创建独立的虚拟环境,方便地管理依赖包和软件版本。 特点: 环境管理:可以创建、导入、导…...
【网络安全 | 渗透测试】GraphQL精讲一:基础知识
未经许可,不得转载, 文章目录 GraphQL 定义GraphQL 工作原理GraphQL 模式GraphQL 查询GraphQL 变更(Mutations)查询(Queries)和变更(Mutations)的组成部分字段(Fields)参数(Arguments)变量别名(Aliases)片段(Fragments)订阅(Subscriptions)自省(Introspecti…...
01_NLP基础之文本处理的基本方法
自然语言处理入门 自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域,主要目标是让机器能够理解和生成自然语言,这样人们可以通过语言与计算机进行更自然的互动。 …...
Oracle 导出所有表索引的创建语句
在Oracle数据库中,导出所有表的索引创建语句通常涉及到使用数据字典视图来查询索引的定义,然后生成对应的SQL语句。你可以通过查询DBA_INDEXES或USER_INDEXES视图(取决于你的权限和需求)来获取这些信息。 使用DBA_INDEXES视图 如…...
什么是JTAG、SWD?
一、什么是JTAG? JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,常用于芯片内部测试及对系统进行调试、编程等操作。以下从其起源、工作原理、接口标准、应用场景等方面详细介绍:…...
物理竞赛中的线性代数
线性代数 1 行列式 1.1 n n n 阶行列式 定义 1.1.1:称以下的式子为一个 n n n 阶行列式: ∣ A ∣ ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ∣ \begin{vmatrix}\mathbf A\end{vmatrix} \begin{vmatrix} a_{11…...
如何在Apple不再支持的MacOS上安装Homebrew
手头有一台2012年产的Macbook Pro,系统版本停留在了10.15.7(2020年9月24日发布的)。MacOS 11及后续的版本都无法安装到这台老旧的电脑上。想通过pkg安装Homebrew,发现Homebrew releases里最新的pkg安装包不支持MacOS 10.15.7&…...
深入探索DeepSeek开源之旅:开源Week全程解析
摘要 在农历新年刚刚结束之际,DeepSeek以卓越的开源精神,连续六天举办了开源Week活动。这一系列活动不仅展示了DeepSeek在技术领域的活跃度和影响力,还彰显了其对开源社区的贡献。通过这次活动,DeepSeek吸引了众多开发者和技术爱好…...
无人机遥控器无线传输技术解析!
一、主流无线传输方式 无线电遥控系统(2.4GHz/5.8GHz频段) 频段特性:2.4GHz频段穿透力强、覆盖距离远(可达2公里以上),适合控制信号传输;5.8GHz频段带宽更高,适用于高清视频流&…...
微调训练方法概述:Fine-tuning、Prompt-tuning、P-tuning 及其他高效技术
在深度学习和自然语言处理(NLP)领域,预训练模型(如 GPT、BERT 等)已经成为许多任务的基石。然而,尽管这些模型在预训练阶段学习了大量的通用知识,它们通常仍然需要根据特定任务进行微调…...
在笔记本电脑上用DeepSeek搭建个人知识库
最近DeepSeek爆火,试用DeepSeek的企业和个人越来越多。最常见的应用场景就是知识库和知识问答。所以本人也试用了一下,在笔记本电脑上部署DeepSeek并使用开源工具搭建一套知识库,实现完全在本地环境下使用本地文档搭建个人知识库。操作过程共…...
Java面试第七山!《MySQL索引》
一、索引的本质与作用 索引是帮助MySQL高效获取数据的数据结构,类似于书籍的目录。它通过减少磁盘I/O次数(即减少数据扫描量)来加速查询,尤其在百万级数据场景下,索引可将查询效率提升数十倍。 核心作用:…...
DeepSeek 助力 Vue3 开发:打造丝滑的弹性布局(Flexbox)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
大白话跨域问题的原理与多种解决方法的实现
大白话跨域问题的原理与多种解决方法的实现 跨域问题原理 简单来说,当一个网页中的JavaScript代码想要去访问另一个不同域名、端口或协议的服务器上的数据时,就会出现跨域问题。这是浏览器的一种安全机制,为了防止恶意网站窃取用户信息等。…...
el-table input textarea 文本域 自适应高度,切换分页滚动失效处理办法
场景: el-table 表格 需要 input类型是 textarea 高度是自适应,第一页数据都是单行数据 不会产生滚动条,但是第二页数据是多行数据 会产生滚动条, bug: 第一页切换到第二页 第二页滚动条无法展示 解决办法:直接修改样…...
动态表头报表的绘制与导出
目录 一、效果图 二、整体思路 三、代码区 一、效果图 根据选择的日期范围动态生成表头(eg:2025.2.24--2025.03.03)每个日期又分为白班、夜班;数据列表中对产线合并单元格。支持按原格式导出对应的报表excel。 点击空白区可新…...
DeepSeek 助力 Vue3 开发:打造丝滑的密码输入框(Password Input)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
【解决】OnTriggerEnter/OnTriggerExit 调用匿名委托误区的问题
开发平台:Unity 开发语言:CSharp 6.0 开发工具:Visual Studio 2022 问题背景 public void OnTriggerEnter(Collider collider) {output.OnInteractionNoticed () > OnInteractionTriggered?.Invoke(); }public void OnTriggerExit(C…...
Linux 基础---文件权限
概念 文件权限是针对文件所有者、文件所属组、其他人这三类人而言的,对应的操作是chmod。设置方式:文字设定法、数字设定法。 文字设定法:r,w,x,- 来描述用户对文件的操作权限数字设定法:0,1,2,3,4,5,6,7 来描述用户对文件的操作…...
SpringBoot五:JSR303校验
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 松散绑定 意思是比如在yaml中写的是last-name,这个和lastName意思是一样的,-后的字母默认是大写的 JSR303校验 就是可以在字段增加…...
【计算机网络】考研复试高频知识点总结
文章目录 一、基础概念1、计算机⽹络的定义2、计算机⽹络的目标3、计算机⽹络的组成4、计算机⽹络的分类5、计算机⽹络的拓扑结构6、计算机⽹络的协议7、计算机⽹络的分层结构8、OSI 参考模型9、TCP/IP 参考模型10、五层协议体系结构 二、物理层1、物理层的功能2、传输媒体3、 …...
Error Density-dependent Empirical Risk Minimization
经验误差密度依赖的风险最小化 v.s. 经验风险最小化 论文: 《 Error Density-dependent Empirical Risk Minimization》 发表在: ESWA’24 相关代码: github.com/zxlml/EDERM 研究背景 传统的经验风险最小化(ERM)方…...
02_NLP文本预处理之文本张量表示法
文本张量表示法 概念 将文本使用张量进行表示,一般将词汇表示为向量,称为词向量,再由各个词向量按顺序组成矩阵形成文本表示 例如: ["人生", "该", "如何", "起头"]># 每个词对应矩阵中的一个向量 [[1.32, 4,32, 0,32, 5.2],[3…...
Spring Boot全局异常处理:“危机公关”团队
目录 一、全局异常处理的作用二、Spring Boot 实现全局异常处理(附上代码实例)三、总结: 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下,感谢…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_list_init
ngx_list_init 定义在 src\core\ngx_list.h static ngx_inline ngx_int_t ngx_list_init(ngx_list_t *list, ngx_pool_t *pool, ngx_uint_t n, size_t size) {list->part.elts ngx_palloc(pool, n * size);if (list->part.elts NULL) {return NGX_ERROR;}list->par…...
C# OnnxRuntime部署DAMO-YOLO香烟检测
目录 说明 效果 模型信息 项目 代码 下载 参考 说明 效果 模型信息 Model Properties ------------------------- --------------------------------------------------------------- Inputs ------------------------- name:input tensor:Floa…...
GitHub开源协议选择指南:如何为你的项目找到最佳“许可证”?
引言 当你站在GitHub仓库创建的十字路口时,是否曾被众多开源协议晃花了眼? 别担心!这篇指南将化身你的"协议导航仪",用一张流程图五个灵魂拷问,帮你轻松找到最佳选择。无论你是开发者、开源爱好者ÿ…...
[密码学实战]Java生成SM2根证书及用户证书
前言 在国密算法体系中,SM2是基于椭圆曲线密码(ECC)的非对称加密算法,广泛应用于数字证书、签名验签等场景。本文将结合代码实现,详细讲解如何通过Java生成SM2根证书及用户证书,并深入分析其核心原理。 一、证书验证 1.代码运行结果 2.根证书验证 3.用户证书验证 二、…...
安装 cnpm 出现 Unsupported URL Type “npm:“: npm:string-width@^4.2.0
Unsupported URL Type "npm:": npm:string-width^4.2.0 可能是 node 版本太低了,需要安装低版本的 cnpm 试试 npm cache clean --force npm config set strict-ssl false npm install -g cnpm --registryhttps://registry.npmmirror.com 改为 npm insta…...
探秘基带算法:从原理到5G时代的通信变革【九】QPSK调制/解调
文章目录 2.8 QPSK 调制 / 解调简介QPSK 发射机的实现与原理QPSK 接收机的实现与原理QPSK 性能仿真QPSK 变体分析 本博客为系列博客,主要讲解各基带算法的原理与应用,包括:viterbi解码、Turbo编解码、Polar编解码、CORDIC算法、CRC校验、FFT/…...
