百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

python编程实践:conda(mamba)虚拟环境的建立及踩坑

itomcoil 2025-01-20 13:53 8 浏览

conda的虚拟环境真的非常实用,尤其是对于大的深度学习项目或者有许多不同功能的开发项目,给每个项目单独配一个环境,轻巧又容易管理,还能直接用别人配好的虚拟环境,非常方便。

但是conda每次操作慢得要死,我写的体会文章,python编程实践:mamba加速神器,体验飞一般的感觉,已经阐述了用mamba完全替换conda,既解决了安装速度的问题,又解决了虚拟环境管理的问题,无缝衔接管理已有的conda环境,一切切换都那么丝滑。这次总结一下,conda(mamba)虚拟环境的建立及踩过的坑。

一、conda(mamba)命令

  • mamba命令大全命令:mamba 或 mamba --h
  • mamba查看环境命令:mamba info --envs或mamba env list
  • mamba激活环境命令:mamba activate MyEnvs(mamba activate <envs-name>)
  • mamba创建环境命令:mamba create -n MyEnvs(mamba create -n <envs-name>)
  • mamba包的安装命令:mamba install package(mamba install <package-name>)
  • mamba包的卸载命令:mamba uninstall package(mamba uninstall <package-name>) 或 mamba remove package

二、虚拟环境的建立

对于anaconda3(2022.05的版本),系统默认的base环境,已经安装了400多个包,一般对于初学者,基本够用了,由于包多,包与包之间的冲突的概率就非常高。如果想建立自己的编程环境,建议建立虚拟环境。

1 普通虚拟环境的建立

(1)运行Anaconda Prompt (anaconda3)

(2)输入conda -V (应该显示conda的版本号)

(3)conda update conda

(4) 建立python3.9虚拟环境,当然也可以建立python2.7等版本虚拟环境。

conda create --name python39 python=3.9

(5)切换到python39环境

conda activate python39

(6)安装mamba加速安装程序,完全替代conda

conda install mamba -c conda-forge

(7)安装cartopy模块,地图绘图包

mamba install cartopy -c conda-forge

(8)安装matplotlib模块,图表绘图系统

mamba install matplotlib -c conda-forge

(9) 安装scikit-learn模块,机器学习库。它具有各种分类,回归和聚类算法,

包括支持向量机,随机森林,Adaboost、决策树、MLP、梯度提升,k均值等

mamba install scikit-learn -c conda-forge

(10)安装xlrd xlsxwriter xlwings openpyxl模块,与电子表格读写绘图等相关

mamba install xlrd xlsxwriter xlwings openpyxl

(11)安装GDAL模块,开源的地理信息系统

mamba install gdal -c conda-forge

(12)安装spyder运行环境程序

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple spyder-kernels==2.1.3

2 其他虚拟环境建立

如果是想安装其他如深度学习的环境,步骤一般如下:

(1)运行Anaconda Prompt (anaconda3)

(2) 建立python3.x虚拟环境,

conda create --name python3x python=3.x

(3)切换到python3x环境

conda activate python3x

(4)安装mamba加速安装程序,完全替代conda

conda install mamba -c conda-forge

(5)安装其他需要的模块。

mamba install 需要的模块或者pip install *.whl

三、踩过的坑

1 出现 [SSL:CERTIFICATE_VERIFY_FAILED] 的错误提示

如果在编程程序调试的过程中,出现 [SSL:CERTIFICATE_VERIFY_FAILED] 的错误提示:根据我的经验,一般出现在win7系统下,在安装完Anaconda3的最后,系统会自动弹出浏览器链接一个网站,一般情况,系统自动调用IE浏览器,但是IE版本过低,造成不能浏览网站。一般情况,大家都是关闭窗口,完事。这就给后面的编程调试带来了隐患。

一种方法:只需要把,https://www.anaconda.com/products/individual/installation-success?source=win_installer,使用其他浏览器,浏览,等网站完全打开后关闭。也就不会出现[SSL: CERTIFICATE_VERIFY_FAILED]的错误提示了。

另外还有一个方法,就是修改C:\Users\你的账户名 下的 .condarc 文件 添加一句 ssl_verify: false就行。或者运行Anaconda Prompt (anaconda3),输入如下命令,

conda config --set ssl_verify false

也能解决问题。

2 按照步骤安装,每一步安装正确,安装完后,发现安装包不知安装到那个地方去了

这种情况多发生在初学者身上。开始按照网上的安装步骤安装,没有折腾好,听别人说,那个版本好用,又去安装,也没有折腾好,自己的计算机,到底安装了那几个版本,连自己都说不清楚。也就是多个不同版本python的环境,它们之间相互冲突了。也就造成了每一步安装正确,安装完后,发现安装包不知安装到那个地方去了,程序也工作不正常。

3 如何判断本机安装的多个版本的python

在cmd命令关口下,输入path命令,如图所示,查看一下,是否有python的字样,如何有,肯定会对你接下来的安装anaconda3程序就有影响,如果没有,即使你安装其他的python版本,也不会有影响。

处理方法:卸载掉以前安装的python版本。

4 设置好虚拟环境后,spyder启动内核失败

运行Anaconda Prompt (anaconda3),切换到你的虚拟环境,执行如下命令,

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple spyder-kernels==2.1.3

即可。

5 conda(mamba)安装好一个包后,可能会出现import正常,但是程序应用的功能函数运行不正常

一般情况,大多数包,conda(mamba)安装成功,就可以用的。但是安装过程中,没有出现任务错误提示,但是在具体使用的过程中,可能会出现import正常,但是程序应用的功能函数运行不正常的错误提示,出现这种情况一般比较少,但在实践开发中确实有时会遇到。

处理方法:mamba uninstall package,下载对应的包whl文件,网址如下:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

在这个网址里,大多数包都可以找到安装包。下载后,执行,

pip install 下载的whl文件,即可。

相关推荐

MySql安装与使用

介绍mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件...

使用AI来搭建一个用户系统,步骤应该是怎样的呢?

我给AI的第一个问题是这样的:创建一个java21+springboot3.4+mysql21的一个用户系统,需要使用JWT,支持多语言,使用swagger,这个用户系统都应该包含哪...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用MySQL进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在MySQL...

Mysql创建用户和权限管理

MySQL是一个多用户的数据库,最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。如果有其他用户想使用MySQL,那么...

Mysql:创建用户详解

1、创建并授权用户--创建可从任何主机连接的用户CREATEUSER'myuser'@'%'IDENTIFIEDBY'mypassword'...

Python 实现【字符匹配】

defis_match(s,pattern):m,n=len(s),len(pattern)dp=[[False]*(n+1)for_inrange...

Python自动化:openpyxl工作簿、工作表相关操作

新建工作簿、工作表importopenpyxl#创建空白工作簿,会自动生成一个工作表:Sheetwb=openpyxl.Workbook()#新建工作表#create_sheet...

python每日一练之三数排序

概述今天主要分享一个三树排序的实例,大家可以自己测试玩一下~需求输入三个整数x,y,z,请把这三个数由小到大输出。方法一:如果是要练练手就随便找个排序算法实现一下#usr/bin/python#...

Python输出语句print()

Python中的输出语句主要通过内置函数print()实现,它可以灵活输出文本、变量、表达式结果等内容到控制台或其他文件。以下是详细介绍及示例:一、print()基本语法print(*object...

Python设置excel表格格式,这3个属性6个模块,要表格好看

前言:通过前面两篇文章,我们用Python处理excel数据得到了结果并保存了文件。打开文件会发现,文件里表格是没有设置格式的,还需手动调整行高列宽等样式,很麻烦。其实,通过Python库模块,能轻松...

python入门-day5-循环语句

以下是为“Day5:循环语句”设计的详细学习任务计划。这个任务旨在帮助初学者掌握Python中的循环语句(for和while),并通过实践理解它们的应用场景。Day5:循环语句学习目标...

Python基础编程必备!涵盖常见语法与操作的代码示例合集

以下是一份Python基础代码示例合集,涵盖了常见的语法和操作,适合初学者快速掌握基本编程概念:1.基础语法python#打印输出print("Hello,World!")#变...

Python循环语句实用教程

一、循环基础1.while循环基本语法:while条件表达式:循环体代码while循环流程图:应用示例:#简单计数器count=0whilecount<5:...

在 Python 中如何向一个已排序的数组(列表) 中插入一个数呢

在Python中如何向一个已排序的数组(列表)中插入一个数呢?方法有很多种,关键在于原来数组是什么样的排序,用到啥排序方法效率高,就用哪种。我们来练习其中的几种插入方法,另外也掌握下遍历数组的...