首页 > Python资料 博客日记
解决python版本兼容,环境冲突的问题--Anaconda的使用
2025-01-13 10:00:05Python资料围观31次
笔者在之前的python学习中,对于python环境的配置一直基于非常浅层次的理解,仅仅是在网络上搜集罗列各种代码然后当cv工程师配置,于是对于python各种环境的配置原理不清楚。
这种环境配置对于解决课程问题绰绰有余,但是当笔者开始学习机器学习的时候,发现版本不兼容以及环境冲突的问题让人不胜其扰。所以花时间去学习之前所有不理解的名词、方法的原理,并总结如下。
python环境
python环境是指在一个特定的位置包含了Python解释器及其周围的工具、库和配置,他们共同构成了python程序执行的环境。
python运行环境提供了执行python代码所需的一切支持。
一般分为两种: 全局环境和虚拟环境
1.全局环境
- 全局环境是指安装在操作系统上的python环境
- 它是所有python程序的默认环境,除非特别指定使用其他环境
- 修改全局环境会影响系统上所有使用这个python解释器的项目
2.虚拟环境
- 虚拟环境是一个独立的环境,可以有自己的python解释器和一组包
- 它使得不同的项目可以有不同的依赖,不会相互干扰
- 虚拟环境一般位于项目文件夹中,便于管理和迁移
python环境的组成
pyhon解释器
python运行环境的核心是解释器,一般分为python2和python3
开发工具
开发和调试的工具,包括集成开发环境(IDE)Pycharm,Visual Studio Code,Jupyter Notebook 等等
包集合
包括python解释器里自带的包和第三方包,第三方包我们一般使用包管理器pip来安装
包管理
安装,更新,卸载,管理第三方库的依赖,最广泛使用的是pip。
问题出现
全局环境出现的问题就是,在运行不同的python项目的时候,所需要的python解释器的版本可能不同,所用的第三方库的版本不兼容,pip安装的大量第三方库文件紊乱繁杂,造成环境冲突,import外部包的时候各种报错。
常见报错信息如下:“ImportError”
ImportError: numpy.core.multiarray failed to import
解决方法
对于每一个特定要求的项目创建一个虚拟环境。
推荐使用anaconda工具来创建
Anaconda
Anaconda是一个可以对虚拟环境进行统一管理的python发行版工具。
优势
- 预装了很多常用的科学计算和数据分析库,例如Numpy,Pandas,Scipy,Matplotlib等等,常用于数据分析和机器学习领域。(无需再用pip进行安装)
- 集成了Jupyter和Spider等集成开发环境,使用方便。
- 最重要的是,有一个叫conda的包管理器,同时也是一个环境管理器。一般可以通过Anaconda prompt(在windows系统中,在mac和linux系统中是终端)。
pip和conda的区别
- conda能够更方便的进行环境管理,能轻松的在不同环境中切换
- pip对于python包的版本更新、回退、卸载等等将影响系统python,影响所有使用系统python环境的python程序。
conda在不同路径更改包,不会影响系统自带包。 - pip不会进行依赖项检查,安装包的时候可能会直接忽略依赖项安装,仅在结果中提示错误。
conda会列出所需其他依赖包,安装包时候自动安装其依赖项,可以在包的不同版本中自由的切换。
4.conda不仅仅适用于python语言。
总而言之,conda结合了pip和virtualenv的功能,可以更便捷地管理包和虚拟环境。
conda的基本操作
一般不建议使用图形化操作界面,因为比较卡。命令行式操作界面会比较丝滑(也比较能装逼(狗头
在windows操作系统下,使用Anaconda Prompt即可进入conda命令行操作界面
1.虚拟环境的管理
① 创建虚拟环境
可以指定python版本和要安装的包
conda create -n env_name python=version package_names
②查看虚拟环境列表
conda env list
③激活虚拟环境
conda activate env_name
可以看到前面的括号内改成了我的env_name,说明该环境已经激活成功
④ 修改环境名称
conda没办法直接修改,但是可以通过复制原环境到新环境再删除原环境来"曲线救国"。
经笔者之后学习发现,可以直接用代码更改
conda rename -n 旧 新
先激活旧环境,在旧环境中创建新环境
复制原环境到新环境
conda activate new_name
conda env export > environment.yml
conda env update --file environment.yml
删除原始环境
conda remove -n old_name --all
再次检查env list
重命名成功
⑤退出当前虚拟环境
conda deactivate
⑥删除虚拟环境
conda remove -n env_name --all
2.包管理
给特定虚拟环境安装依赖包,首先要先激活该虚拟环境
①安装包
conda install package_name
可以在后面加上==指定包的版本
②列出所有包
conda list
③更新包
conda update package_name
一次性更新所有包
conda update --all
④删除包
conda remove package_name
⑤查找包
conda search keyword
标签:
相关文章
最新发布
- 光流法结合深度学习神经网络的原理及应用(完整代码都有Python opencv)
- Python 图像处理进阶:特征提取与图像分类
- 大数据可视化分析-基于python的电影数据分析及可视化系统_9532dr50
- 【Python】入门(运算、输出、数据类型)
- 【Python】第一弹---解锁编程新世界:深入理解计算机基础与Python入门指南
- 华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)
- Python已安装包在import时报错未找到的解决方法
- 【Python】自动化神器PyAutoGUI —告别手动操作,一键模拟鼠标键盘,玩转微信及各种软件自动化
- Pycharm连接SQL Sever(详细教程)
- Python编程练习题及解析(49题)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程