conda创建的新环境不干净!一定要注意!

总是出现明明是不同的环境,但是总是出现包交叉混用的问题,导致跑很多模型总是出现改了这个环境的包,那个环境又用不了了。就像下面这样,明明激活的是pyskl,安装mediapipe包显示在thwircamera中索引到就显示Requirement already satisfied.这很明显不对啊。

目录

怀疑过两个问题:

怎么解决环境不干净问题?

1、查看pip的默认安装路径

2、查看site.py的文件位置并打开。

3、找到 ENABLE_USER_SITE=None,将None修改为False.

4、之后再pip list,就没有那么多额外的包了

5、这里有一个遗留问题。


怀疑过两个问题:

1、conda activate env1之后没有conda deactivate,直接conda activate env2,导致环境交叉。

        结果不是。因为conda会在env2打开之前自动deactivate env1.每个时刻只会有一个环境被激活。使用如下指令可以查看当前激活环境(anaconda prompt窗口命令行最前面也会显示),当前激活环境前面带*号。

conda info --envs

2、直接复制环境更改环境名字会导致环境交叉。

        结果不是。由于安装torh+CUDA需要2个小时左右,所以每次安装会很麻烦,想着直接在一个环境里面安装干净的torch+CUDA,后面每次需要复现其他项目,安装requierments时,为了避免包冲突,可以直接复制这个安装过CUDA的环境,重命名即可。本来以为是我这样的操作引起env和copy-env之间有相同命名的文件,从而导致环境交叉,但是实际上也不会,并且这个方法是可行的。

        最后仔细检查新建环境时查明真相!!!由于实在时问题太多,我选择重新新建环境,新建之后pip list,结果出现了一堆我以前安装的包,甚至包括一些项目里面的自建包,就是后面指明我项目路径的,这就很奇怪了,一个新环境原来这么不干净!!!但是conda list就只有少量几个包。

于是四处搜寻办法。才知道原来pip会有一个默认安装路径。而不是激活当前环境,pip install 就可以直接把包安装在该环境的Lib/site_packages文件夹下面。而pip list列出的就是用户所有通过pip安装过的包。

怎么解决环境不干净问题?

1、查看pip的默认安装路径

python -m site

在到数第2行USER_SITE一栏,显示默认安装路径是C:\\Users\\86152\\AppData\\Roaming\\Python\\Python38\\site-packages,而不是我的CUDA113Env环境里面的,并且里面还有一些别的环境里面文件路径。且ENABLE_USER_SITE是True。查看这些路径,发现确实是这些包所在。

2、查看site.py的文件位置并打开。

python -m site --help

3、找到 ENABLE_USER_SITE=None,将None修改为False.

4、之后再pip list,就没有那么多额外的包了

5、这里有一个遗留问题。

        就是在CUDA113Env环境的sys.path里面,到数第2、第3个路径,涉及到别的环境THWIRCamera,所以需要删除,目前只找到动态删除,但是环境里面还是存在的。可能的原因是因为我在新建这个CUDA113Env环境的时候,处于THWIRCamera状态下,所以才会有。因为我另外一个环境新建的,就没有这个路径。本来寻求删除方法,我没有找到。而且这个修改ENABLE_USER_SITE=None,将None修改为False,难道是每次新建环境都要这样吗?有没有其他方法。存疑有待讨论暂时先这样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/448155.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

postgresql 安装

一、下载 PostgreSQL: File Browser 下载地址 PostgreSQL: File Browser 上传到服务器,并解压 二、安装依赖 yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel 创建postgresql 和目录 useradd …

『Mysql集群』Mysql高可用集群之主从复制 (一)

Mysql主从复制模式 主从复制有一主一从、主主复制、一主多从、多主一从等多种模式. 我们可以根据它们的优缺点选择适合自身企业情况的主从复制模式进行搭建 . 一主一从 主主复制 (互为主从模式): 实现Mysql多活部署 一主多从: 提高整个集群的读能力 多主一从: 提高整个集群的…

一、定时器的时钟来源

计数器的时钟选择8个时钟源,可以分成4类: 一、来自RCC的内部时钟TIMx CLK 二、芯片内部其他定时器的触发输入ITR 使用某一个定时器作为另外一个定时器的分频 ITR1、ITR2、ITR3和ITR4 三、外部时钟源模式1: 外部捕获引脚上的边沿信号 TI1FP…

【jeston】torch相关环境安装

参考:玩转NVIDIA Jetson (25)— jetson 安装pytorch和torchvision 我的jeston信息: torch install 安装环境 conda create -n your_env python3.8 conda activate your_envpytorch_for_jeston 安装.whl文件 验证&#xff1…

循环神经网络(Recurrent Neural Network,RNN)

简介:个人学习分享,如有错误,欢迎批评指正。 一. 核心理念 循环神经网络(Recurrent Neural Network,RNN)是一类专门用于处理序列数据的神经网络架构。其独特之处在于能够处理输入序列中元素的时序关系&…

STM32定时器

目录 STM32定时器概述 STM32基本定时器 基本定时器的功能 STM32基本定时器的寄存器 STM32通用定时器 STM32定时器HAL库函数 STM32定时器概述 从本质上讲定时器就是“数字电路”课程中学过的计数器(Counter),它像“闹钟”一样忠实地为处…

41 C 语言共用体:共用体数据类型、共用体变量、访问共用体成员、与结构体的区别

目录 1 什么是共用体 2 共用体与结构体的区别 3 声明共用体类型 4 声明共用体变量 5 共用体内存分析 6 共用体成员的获取和赋值 7 综合案例 7.1 共同体特点演示 7.2 使用共用体存储学生和教师信息 1 什么是共用体 共用体(Union)是一种特殊的数据…

大型企业软件开发是什么样子的? - Web Dev Cody

引用自大型企业软件开发是什么样子的? - Web Dev Cody_哔哩哔哩_bilibili 一般来说 学技术的时候 我们会关注 开发语言特性 ,各种高级语法糖,底层技术 但是很少有关注到企业里面的开发流程,本着以终为始(以就业为导向…

OpenCV高级图形用户界面(8)在指定的窗口中显示一幅图像函数imshow()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在指定的窗口中显示一幅图像。 函数 imshow 在指定的窗口中显示一幅图像。如果窗口是以 cv::WINDOW_AUTOSIZE 标志创建的,图像将以原…

An.如何在an中截取音频片段

如何在an中截取音频片段 在an动画制作过程中,部分片段需要插入音乐,如果想要插入一首歌曲的其中一小节,打开音频编辑软件操作就很麻烦,不妨直接在an中操作: 以这首节气歌为例,前奏太长需要剪掉前面的部分 …

TOGAF 9.2 与 TOGAF 10 的对比分析:架构演进之路

TOGAF 9.2 与 TOGAF 10 的对比分析:架构演进之路 前言 TOGAF(The Open Group Architecture Framework)自诞生以来,已成为企业架构(EA)领域的全球标准框架。随着时代的发展,TOGAF也在不断进化&…

基于SpringBoot+Vue+uniapp的在线招聘平台的详细设计和实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不…

第二课:Python入门学习之开发工具的安装

今天我们进行Python开发工具的安装,其实网上的开发工具是很多的,每个人的习惯也都不一样,我们先去官网下载一个比较常用的吧。废话不多开始操作。 第一步:打开官网地址:https://www.jetbrains.com.cn/ 第二步&#xf…

面试题:Redis(三)

1. 面试题 背景 问题,上面业务逻辑你用java代码如何写? 2. 缓存双写一致性谈谈你的理解? 3. 双检加锁策略 多个线程同时去查询数据库的这条数据,那么我们可以在第一个查询数据的请求上使用一个 互斥锁来锁住它。 其他的线程走到这…

微知-Mellanox驱动中的iSCSI是什么?有哪三种网络存储有哪三种?iSER是什么?(iSCSI协议(总线),SAN 存储区域网络)

背景 本文根据Mellanox网卡驱动中关于iSCSI模块,来介绍iSCSI是什么?该技术发展演进背景? 关于iSCSI iSCSI是一种协议,SCSI是总线。比如常说的SAS(Serial Attach SCSI)存储盘对比与家用的SATA&#xff0…

Uiautomator2与weditor配置一直报错咋办

作者在配置这两个的时候绞尽脑汁了,u2的init总是报错并且无法自动在手机上安装atx,weditor可以打开但是只要对元素操作或者任意操作就会让你去重新init,搞得作者焦头烂额,而且网上各种各样的报错信息眼花缭乱,作者几乎…

NVIDIA NIM平台如何打造AI图表识别系统

NVIDIA NIM是一套易于使用的推理微服务,旨在加速企业中性能优化的生成式 AI 模型的部署。 NIM 推理微服务可以部署在任何地方,从工作站和本地到云,提供企业控制自己的部署选择并确保数据安全。它还提供行业领先的延迟和吞吐量,实现…

使用Windows创建一个MFC应用【带界面】

MFC使用教程【对初学者保姆型友好!】 目录 前提条件 1:创建MFC应用程序 2. 项目结构解读 引用 外部依赖项 头文件 源文件 资源文件 文件功能详解 项目的主要流程 步骤2:配置OpenCV 安装OpenCV 包含目录与库文件 步骤3&#xff1…

云卓H30:引领科技与性能的完美融合!

在科技日新月异的今天,一款集高性能与便捷操作于一体的手持地面站成为了无人机、机器人等智能设备的得力助手。云卓H30手持地面站,凭借其搭载的高通骁龙660处理器,在多个适用场景中展现出了卓越的实力。 高通骁龙660,这款先进的移…

Python 如何处理大规模数据库表的迁移与数据迁移的高效执行

Python 如何处理大规模数据库表的迁移与数据迁移的高效执行 引言 在现代应用开发中,随着业务需求的增长,数据库表结构和数据往往需要进行迁移和更新。迁移(Migration)是指对数据库表的结构、数据类型、索引、约束等进行修改或更新…