conda虚拟环境搭建和打包,删除,移动等全流程及相关问题汇总

news2024/11/27 22:37:48

私人笔记无偿分享,更多内容请访问:链接:https://pan.baidu.com/s/19mS5N9XJ_AotF20kUwSA3w?pwd=p5kx 
提取码:p5kx 
复制这段内容后打开百度网盘手机App,操作更方便哦

4.4. anaconda虚拟环境搭建:

网址:为什么要创建anaconda的虚拟环境_ice bear桑的博客-CSDN博客_anaconda为什么要创建环境

Anaconda Prompt中执行(搭建的环境的位置:在anaconda\envs

4.4.1. 创建虚拟环境(注意路径)

(29条消息) bug记录:解决Windows系统anaconda创建虚拟环境后pip install定位到全局问题_小金总会发光的博客-CSDN博客

(17条消息) w11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决_conda创建虚拟环境到c盘_weixin_48373309的博客-CSDN博客

(17条消息) 解决新创建的anaconda环境在C:\Users\xxx\.conda\envs\,而不在anaconda安装目录下的envs中_anaconda新建的环境位置_半岛铁子_的博客-CSDN博客

(58条消息) 【深度学习进阶之路】----解决新建Anconda虚拟环境总是安装在C盘的问题_anaconda c盘_丁大力_DDL的博客-CSDN博客

一定要先安装python解释器(重点:关联安装pip)之后才能用pip install命令,否则安装的包全部跑到base环境下(并且不会保错)

(标红的--name 可以改为 -n

#创建名为your_env_name的环境

conda create --name your_env_name

conda create --n your_env_name

#创建制定python版本的环境

conda create --name your_env_name python=2.7

conda create --name your_env_name python=3.6

#创建包含某些包(如numpy,scipy)的环境

conda create --name your_env_name numpy scipy

#创建指定python版本下包含某些包的环境

conda create --name your_env_name python=3.6 numpy scipy

4.4.2. 激活(进入)其他虚拟环境:

(如果已经进入其他环境,就要先退出,再进入,环境名中有空格,名称外面记得加双引号)

conda activate xxxxx(名字)

有的版本直接输入:activate  xxxxx(名字)也行

4.4.3. 查看当前存在哪些虚拟环境

conda env list 或 conda info -e

或conda info --envs

4.4.4. 退出虚拟环境

conda deactivate

好像直接输入:deactivate也行

4.4.5. 删除和重命名环境

1、删除(先回到base环境)

conda remove -n xxxxx(名字) --all

环境卸载后,去文件夹找到对应文件名,删除。(否则重新建同名的会报错)

2、重命名(之后要重新配置解释器路径)

需要注意的是,重命名环境不是直接重命名环境的名称,而是通过复制旧环境创建一个新环境,并删除旧环境。因此,在复制环境时,要确保新环境的名称不存在,并且旧环境的名称不再使用。

首先对要需要重命名的conda环境进行复制,

# 这是简化的命令形式(conda-new为新环境名,conda-old为旧环境名)

conda create -n conda-new --clone conda-old

# 下面是完整的命令形式(conda-new为新环境名,conda-old为旧环境名)

conda create --name conda-new --clone conda-old

然后删除原有的conda环境:

conda remove -n conda-old –all

# --all表示删除整个conda环境;

当然,也可以将命令放在一起执行,中间加上英文分号即可

conda create --name GUIEnv --clone "Graphical interface" ; conda remove --name "Graphical interface" –all
原环境:Graphical interface,因为有空格所以加引号

现环境:GUIEnv

4.4.6. 复制环境(同一台机子)

环境复制不等同于环境打包,因为两者生成的文件不一致,环境复制一步到位,环境打包要导出还有导入

复制环境前提是多个环境在同一个路径目录下,如果一个是c盘,一个是d盘,下面的命令都不行

在一个新开的虚拟环境中,往往没有安装anaconda时在base环境中的那些基础的科学计算包,一个个手动安装,明显太费事,这里环境复制更多指的是,在一台机子上,复制你配置的其他环境中的安装内容。

不过有一个弊端,没有找到可以直接复制到其他现有环境的命令

4.4.6.1. 复制base环境

(1)新建一个名为new_name的环境,将base环境中的包复制过去。

conda create -n new_name --clone base

注:此命令,在哪一个虚拟环境下操作都可以,因为是新建环境

(2)删除这个复制过来的环境(new name)

参考5、删除,拷贝和重命名环境

4.4.6.2. 复制其他环境

conda create -n 新环境的名称 --clone 老环境名称

注:此命令,在哪一个虚拟环境下操作都可以,因为是新建环境

4.5. anaconda虚拟环境打包

4.5.1. 项目环境打包 (必看)

常用于项目所需环境的打包,并给其他人安装对应环境的时候使用,将导出的txtyml放到项目文件中,可以被自动识别

建议安装不同的包的时候,用同一种命令pipconda,否则要导出,导入两次,比较麻烦,当然也可以用连接符同时执行命令

# 同时导出conda命令的包信息和pip命令的包信息(包信息不重复)

conda env export > environment.yml ; pip freeze > requirements.txt

使用`&&`来连接两个或多个命令是一种shell技术,它允许你在按照顺序执行每个命令之前,检查前一个命令的运行结果。如果前一个命令运行失败,将不会执行后续的命令。如果失效改为;

# 使用conda和pip安装相应的包(注意路径)

conda env create -f environment.yml ; pip install -r requirements.txt

(结合:4.5.1.2环境的导入(不看):)如果失效改为;

分号用来分隔多条命令,表明这些命令要组成一个整体,在整体执行完成之后才会返回结果。

备注:导出的文件,其中环境名称已经被写在ymltxt文件中了,当需要导入时,文件中的环境名称可以手动修改,之后就会根据文件中的环境名称自动新建环境和包文件,如果先建立环境,再进入环境中,再导入文件,那么ymltxt中的环境部分要删除,否则就会新建了,注意要将两份文件的环境名称保持一致,这样ymltxt中的包就会直接被写到一个环境中了

分开详细步骤如下,建议不看

4.5.2. 环境的导出(不看):

导出base环境需要先克隆到一个新的虚拟环境,再导出

4.5.2.1. 进入你所要导出的虚拟环境(my_torch)中,

conda activate my_torch (名字)

好像直接输入:activate  xxxxx(名字)也行

4.5.2.2. 导出当前环境:

conda env export > my_torch.yaml

4.5.2.3. pip安装的库的导出

若所装的库未用pip命令,则此步骤可以省略

pip freeze > my_torch.txt

4.5.2.4. 文件导出的位置:(即:进入Anaconda Prompt界面中的目录位置)

这是本人导出的文件的存放位置

4.5.3. 环境的导入(不看):

可以直接复制envs目录下对应的环境,压缩发给其他人,拿到后解压,放到他的envs目录下,之后重启即可更新环境)不用下面的方法也可以,适合网络不佳的情况。(不一定100%可以)

常用方法:记住以下操作直接在base环境中操作,无需创建或切换环境,前提是导入文件自带环境名称如果不自带环境名称,那么此时一定要先新建环境,然后在该环境内导入对应包文件。(如有特殊变换,我会备注)

4.5.3.1. conda导入环境

#其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径(environment.yaml 是你所导出的环境名

environment.yaml也可以进入修改名称,格式如下:

conda env create -f=/path/to/environment.yaml    #这里只提供这一种命令

解释:进入Anaconda Prompt后,直接执行此命令,无需再重新创建一个虚拟环境

或:conda env create -f environment.yaml

(下图中,本人这里导出和导入都放在同一位置,所以不用加路径,除非你进去切换了路径,一般重装anconda时,与原来安装路径一致即可

运行安装完后,结果如下图:

自动创建你所导入的环境名称和环境配置(conda命令所装的库)。

4.5.3.2. pip安装库的导入:

对于用pip命令所装的库,还要加一步:导入

pip install -r my_torch.txt     #同样在base环境中执行即可(最好在对应虚拟环境中进行)

不在命令行的路径下,执行以下代码:

#其中C:\Users\Microstrong\enviroment.txt是该文件在你电脑上的实际路径。

pip install -r C:\Users\Microstrong\enviroment.txt

图中出现的报错,是因为找不到对应的版本(应该是所采用的源,没有这个所要导入的指定版本库,通常是库的版本太低,采用的源中没有对应的低版本,方法一:升级:对应库的版本,参考pip命令章节,方法二、更换源,要试好多源。)

(本人原因,之前装这些库的时候用的是官方源,anaconda重装后,但是C:\Users\1234\AppData\Roaming\pip下的pip.ini还在,所以这次安装就是采用我所定义的源,所以选择好源,再装重要。)

为了以防万一,进入你所导入的环境中用conda list 查看所装的库,是否有.txt文件中的库

到此为止,库的导入即完成了,环境也创建了。

最后再conda env list,查看所有导入的环境(可省略)

提示:最好不要在:base环境中安装库,建议配置一个虚拟环境,很方便

4.5.3.3. 他人的直接调用

拿到别人发给你的 environment.yml文件和environment.txt后,将该文件放在工作目录下(即:下图红色箭头),可以通过命令conda env create -f environment.yml ; pip install -r requirements.txt

从该文件创建环境,不用再切换路径,省事

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决在test以外的目录下导入junit无效

以上引用来自src目录下的文件,可以看到,和junit有关的导入都飘红,但明明junit已经被正确导入进了项目中。 再看右侧的Maven的依赖下方,junit的右边有一个很不起眼的(test) 这是因为junit作为测试框架,可能包含仅适用于…

Halcon区域的面积和中心点area_center

Halcon区域的面积和中心点 提到区域的特征,最常用的莫过于区域的面积和中心点坐标信息。实际工作中,经常会使用面积或中心点进行特征的选择和定位。Halcon中的area_center算子就是用于实现这一功能的,该算子一次返回以下两个结果。 &#xf…

【KingbaseES】实现MySql函数WEEKS_BETWEEN

WEEKS_BETWEEN CREATE OR REPLACE FUNCTION weeks_between(start_date date, end_date date) RETURNS integer AS $$ BEGIN RETURN EXTRACT(WEEK FROM end_date) - EXTRACT(WEEK FROM start_date); END; $$ LANGUAGE plpgsql IMMUTABLE;结果展示

嵌入式Linux之MX6ULL裸机开发学习笔记(IMX启动方式-启动设备的选择)

一,硬件启动方式选择 1.启动方式的选择 6ull支持多种启动方式。 比如可以从 SD/EMMC、 NAND Flash、 QSPI Flash等启动。 6ull是怎么支持多种外置flash启动程序的。 1.启动方式选择: BOOT_MODE0 and BOOT_MODE1,这两个是两个IO来控制的,…

Unity 使用Sprite绘制一条自定义图片的线

Unity 使用Sprite绘制一条自定义图片的线 前言项目场景布置代码编写总结 运行效果感谢 前言 遇到一个需要绘制自定义形状的需求。那只能利用Sprite来绘制一条具有自定义图片的线,通过代码动态设置起点、终点以及线宽,实现灵活的线条效果。 项目 场景…

嵌入式Linux之MX6ULL裸机开发学习笔记(汇编LED灯点亮)

汇编LED驱动实验 1.驱动编写 首先创建在vscode上创建工作区,创建led.s汇编文件,然后编写以下程序 .global _start 全局标号 _start: /* 使能所有外设时钟 */ ldr r0,0x020c4068 CCGR0 ldr r1,0xffffffff 要向CCGR0写入的数据 str r1,[r0] 将0xff…

UE5 C++(十一)— 碰撞检测

文章目录 代理绑定BeginOverlap和EndOverlapHit事件的代理绑定碰撞设置 代理绑定BeginOverlap和EndOverlap 首先,创建自定义ActorC类 MyCustomActor 添加碰撞组件 #include "Components/BoxComponent.h"public:UPROPERTY(VisibleAnywhere, BlueprintRea…

IO进程线程 day4

进程状态间的转化 创建出三个进程完成两个文件之间拷贝工作&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一半内容&#xff0c;父进程回收子进程的资源 #include <head.h> int main(int argc, const char *argv[]) {FILE *fp1NULL,*fp2NULL;//定义两个文…

Java Arrays.copyOfRange的用法

Arrays.copyOfRange的使用方法&#xff1a; 将一个数组拷贝至另一个数组中 参数&#xff1a; original&#xff1a;第一个参数为要拷贝的数组对象 from&#xff1a;第二个参数为拷贝的开始位置&#xff08;包含&#xff09; to&#xff1a;第三个参数为拷贝的结束位置&#x…

小程序组件内的数据监听器

数据监听器可以用于监听和响应任何属性和数据字段的变化。从小程序基础库版本 2.6.1 开始支持。 有时&#xff0c;在一些数据字段被 setData 设置时&#xff0c;需要执行一些操作。例如&#xff0c; 一个值取决于另外两个值的变化&#xff0c;this.data.sum 永远是 this.data.…

大创项目推荐 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习&#xff1f;5.1.2 为什么要迁移学习&#xff1f; 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

微软 Power Platform 使用Power Automate发送邮件以Dataverse作为数据源的附件File Column

微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式 目录 微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式1、需求背景介绍2、附件列File Column介绍3、如何在Po…

几种读nii图像方法的轴序比较

读 .nii / .nii.gz 图像并转成 numpy 可用 medpy.io、nibabel、itk、SimpleITK 几种方法&#xff0c;然而几种方法读出来的轴序有出入&#xff0c;本篇比较此几种方法。 Datum 所用数据来自 verse&#xff0c;经 iTomxy/data/verse/preprocess.py 预处理&#xff0c;朝向和轴…

Linux_apachectl 网页优化

1.1 网页压缩与缓存 在使用 Apache 作为 Web 服务器的过程中&#xff0c;只有对 Apache 服务器进行适当的优化配 置&#xff0c;才能让 Apache 发挥出更好的性能。反过来说&#xff0c;如果 Apache 的配置非常糟糕&#xff0c; Apache 可能无法正常为我们服务。因此&#xff0c…

【技能---500G硬盘-Ubuntu 20.04安装分区参考】

文章目录 Ubuntu 20.04安装分区指导安装分区流程Ubuntu 系统分区关键一步----- 选择安装启动引导器的设备 Ubuntu 20.04安装分区指导 安装Ubuntu 20.04的时候可以自己指定各个内存空间的占用&#xff0c;值得注意的是&#xff0c;这里的分区有一定的技巧&#xff01;&#xff0…

14:00面试,14:08就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到10月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

云原生技术专题 | 解密2023年云原生的安全优化升级,告别高危漏洞、与数据泄露说“再见”(安全管控篇)

背景介绍 2023年&#xff0c;我们见证了科技领域的蓬勃发展&#xff0c;每一次技术革新都为我们带来了广阔的发展前景。作为后端开发者&#xff0c;我们深受其影响&#xff0c;不断迈向未来。 随着数字化浪潮的席卷&#xff0c;各种架构设计理念相互交汇&#xff0c;共同塑造了…

工作流自动化:它是什么,常见示例以及如何实现

由于您的组织旨在留住顶尖人才和高价值客户&#xff0c;因此您需要不断为这两个团队提供一流的体验。 就客户而言&#xff0c;它可以实时解决他们的问题和疑虑&#xff0c;并以深思熟虑、可操作的洞察力主动与他们联系&#xff1b;而且&#xff0c;对于员工来说&#xff0c;它可…

微服务之间互相调用出现的错误

场景&#xff1a; 微服务A调用微服务B的接口&#xff0c;微服务B的接口请求方式是get类型&#xff0c;传递的参数是JSON格式。 错误&#xff1a; 1、postman&#xff1a;springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserial…

java数据结构与算法刷题-----LeetCode70. 爬楼梯

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难&#xff0c;但它就是固定套路而已。其实动态规划只…