Miniconda 安装及使用
文章目录
- 前言
- 1、Miniconda 简介
- 2、Linux 环境说明
- 2.1、安装
- 2.2、配置
- 2.3、常用命令
- 2.4、常见问题及解决方案
前言
在 Python 中,“环境管理”是一个非常重要的概念,它主要是指对 Python 解释器及其相关依赖库进行管理和隔离,以确保开发环境的稳定性和项目的可移植性。
-
什么是 Python 环境
- Python 解释器:Python 是一种解释型语言,代码的运行需要通过 Python 解释器来执行。不同的 Python 版本(如 Python 2.x 和 Python 3.x)在语法和功能上存在差异。
- 依赖库:Python 的强大功能很大程度上依赖于丰富的第三方库(如 NumPy、Pandas、Django 等)。这些库在不同的项目中可能会有不同的版本要求。
-
为什么需要环境管理
- 版本冲突:不同项目可能依赖不同版本的 Python 或第三方库。如果没有环境管理,很容易出现版本冲突,导致项目无法正常运行。
- 项目隔离:每个项目都有自己的依赖环境,环境管理可以将不同项目的依赖隔离,避免相互干扰。
- 可移植性:通过环境管理,可以确保在不同的环境中(如本地开发、服务器部署、团队协作等),项目能够以一致的方式运行。
-
环境管理的好处
- 避免依赖冲突:通过隔离不同项目的环境,避免了不同项目之间的依赖冲突。
- 便于项目部署:通过 Pipfile.lock 或 requirements.txt 文件,可以轻松地在不同环境中复现项目的依赖环境。
- 提高开发效率:开发者可以专注于当前项目的开发,而不必担心全局环境的干扰。
-
最佳实践
- 为每个项目创建独立的虚拟环境:不要在全局环境中安装项目依赖。
- 使用 requirements.txt 或 Pipfile 管理依赖:记录项目的依赖关系,方便团队协作和项目迁移。
- 定期更新依赖库:确保使用的依赖库是最新的,以获得更好的性能和安全性。
总之,Python 环境管理是 Python 开发中不可或缺的一部分,它能够帮助开发者更好地管理项目依赖,提高开发效率,确保项目的稳定性和可移植性。
1、Miniconda 简介
官方网站
Miniconda 是一个轻量级的 Python 环境管理工具,它只包含 Python 和 conda 包管理器,而不像 Anaconda 那样预装了大量科学计算库。Miniconda 非常适合需要灵活管理 Python 环境和依赖的用户。
2、Linux 环境说明
操作系统:Ubuntu 24.04.1 LTS
安装包:ubuntu-24.04.1-desktop-amd64.iso
Python 版本:3.12.3
pip 版本:24.0
Miniconda 版本:24.11.1
2.1、安装
# 获取安装包
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 非 latest 版本 - 通过 https://repo.anaconda.com/miniconda/ 中查找所需对应的版本
# wget https://repo.anaconda.com/miniconda/Miniconda3-py312_24.11.1-0-Linux-x86_64.sh
# 运行安装脚本 - 按提示操作,选择安装路径,并同意许可协议
bash Miniconda3-latest-Linux-x86_64.sh
# 验证 - 如果显示版本号,则安装成功
conda --version# 其他版本
# Windows 版本
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe --output Miniconda3-latest-Windows-x86_64.exe
# MACOS
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
2.2、配置
# 国内镜像源 - 清华
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 查看所有可用的镜像源
conda config --show channels# 启用显示镜像源(channels)的URL地址
conda config --set show_channel_urls yes
# 查看是否配置成功
conda config --show show_channel_urls# 国内常用镜像源
# 清华大学:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 中国科技大学:https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
# 上海交通大学:https://mirrors.sjtu.edu.cn/anaconda/pkgs/main/
# 浙江大学:https://mirrors.zju.edu.cn/anaconda/pkgs/main/
# 阿里云:https://mirrors.aliyun.com/anaconda/pkgs/main/
# 腾讯云:https://mirrors.cloud.tencent.com/anaconda/pkgs/main/ # 查看当前的镜像源
conda config --show-sources
# 删除镜像源
conda config --remove channels <镜像源地址>
# 禁用显示镜像源URL
conda config --set show_channel_urls no
# conda config 命令修改的是 conda 的配置文件,通常位于 ~/.condarc (用户级别)或系统级别的配置文件中
2.3、常用命令
创建环境
conda create --name myenv python=3.12.3
激活环境
conda activate myenv
退出环境
conda deactivate
列出环境
conda env list
安装包
conda install numpy
导出环境配置
conda env export > environment.yml
从配置文件创建环境
conda env create -f environment.yml
查找可用包
conda search numpy
2.4、常见问题及解决方案
-
包冲突
在安装或更新包时,可能会遇到包冲突问题。可以尝试以下命令解决:conda install package_name --update-deps
或者使用
conda update --all
更新所有包。 -
环境激活失败
如果激活环境失败,可以尝试运行以下命令修复:conda init
然后重新启动终端。
相关文章:
Miniconda 安装及使用
文章目录 前言1、Miniconda 简介2、Linux 环境说明2.1、安装2.2、配置2.3、常用命令2.4、常见问题及解决方案 前言 在 Python 中,“环境管理”是一个非常重要的概念,它主要是指对 Python 解释器及其相关依赖库进行管理和隔离,以确保开发环境…...
solidity高阶 -- Eth支付
在区块链的世界里,智能合约是实现去中心化应用(DApp)的核心技术之一。Solidity 是一种专门用于编写以太坊智能合约的编程语言,它可以帮助开发者构建各种功能,包括支付功能。 今天,我们就来探讨如何使用 Sol…...
深入理解Java中的String
前言 在Java中,String类是一个非常重要的内置类,用于处理字符串数据。字符串是不可变的(immutable),这意味着一旦创建,字符串的内容不能被修改。作为Java中最为基础和常用的类之一,String类在内…...

洛谷 P1734 最大约数和 C语言
P1734 最大约数和 - 洛谷 | 计算机科学教育新生态 题目描述 选取和不超过 S 的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。 输入格式 输入一个正整数 S。 输出格式 输出最大的约数之和。 输入输出样例 输入 #1复制 …...

Golang 执行流程分析
文章目录 1. 编译和运行2. 编译和运行说明 1. 编译和运行 如果是对源码编译后,再执行,Go的执行流程如下图 如果我们是对源码直接 执行 go run 源码,Go的执行流程如下图 两种执行流程的方式区别 如果先编译生成了可执行文件,那么…...

python学opencv|读取图像(五十一)使用修改图像像素点上BGR值实现图像覆盖效果
【1】引言 前序学习了图像的得加方法,包括使用add()函数直接叠加BGR值、使用bitwise()函数对BGR值进行按位计算叠加和使用addWeighted()函数实现图像加权叠加至少三种方法。文章链接包括且不限于: python学opencv|读取图像(四十二ÿ…...
Flask数据的增删改查(CRUD)_flask删除数据自动更新
查询年龄小于17的学生信息 Student.query.filter(Student.s_age < 17) students Student.query.filter(Student.s_age.__lt__(17))模糊查询,使用like,查询姓名中第二位为花的学生信息 like ‘_花%’,_代表必须有一个数据,%任何数据 st…...
kamailio-ACC模块介绍【kamailio6.0. X】
Acc 模块 作者 Jiri Kuthan iptel.org jiriiptel.org Bogdan-Andrei Iancu Voice Sistem SRL bogdanvoice-system.ro Ramona-Elena Modroiu rosdev.ro ramonarosdev.ro 编辑 Bogdan-Andrei Iancu Voice Sistem SRL bogdanvoice-system.ro Sven Knoblich 1&1 Internet …...
数据库对象
数据库对象 数据库对象是构成数据库结构的基本单位,它们定义了数据库存储的数据类型、数据的组织方式以及数据之间的关系。在数据库中,对象可以包括表,视图,索引,触发器,存储过程,函数等多种类…...
EtherCAT主站IGH-- 27 -- IGH之globals.h文件解析
EtherCAT主站IGH-- 27 -- IGH之globals.h文件解析 0 预览一 该文件功能宏定义数据结构打印宏三 h文件翻译四 c文件翻译该文档修改记录:总结0 预览 一 该文件功能 该文件包含了一些全局定义和宏,用于 IgH EtherCAT 主站(EtherCAT Master)的实现。包括了一些超时设定、宏定义…...

2025多目标优化创新路径汇总
多目标优化是当下非常热门且有前景的方向!作为AI领域的核心技术之一,其专注于解决多个相互冲突的目标的协同优化问题,核心理念是寻找一组“不完美但均衡”的“帕累托最优解”。在实际中,几乎处处都有它的身影。 但随着需求场景的…...

15JavaWeb——Maven高级篇
Maven高级 Web开发讲解完毕之后,我们再来学习Maven高级。其实在前面的课程当中,我们已经学习了Maven。 我们讲到 Maven 是一款构建和管理 Java 项目的工具。经过前面 10 多天 web 开发的学习,相信大家对于 Maven 这款工具的基本使用应该没什…...

使用Ollama本地化部署DeepSeek
1、Ollama 简介 Ollama 是一个开源的本地化大模型部署工具,旨在简化大型语言模型(LLM)的安装、运行和管理。它支持多种模型架构,并提供与 OpenAI 兼容的 API 接口,适合开发者和企业快速搭建私有化 AI 服务。 Ollama …...

蓝桥杯刷题DAY1:前缀和
所谓刷题,讲究的就是细心 帕鲁服务器崩坏【算法赛】 “那个帕鲁我已经观察你很久了,我对你是有些失望的,进了这个营地,不是把事情做好就可以的,你需要有体系化思考的能力。” 《幻兽帕鲁》火遍全网,成为…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户注册
🧸安清h:个人主页 🎥个人专栏:【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎯项目基本介绍 🚦项…...

MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译
感谢阅读 注意不含评估以后的翻译原论文地址标题以及摘要介绍部分MiniRAG 框架2.1 HETEROGENEOUS GRAPH INDEXING WITH SMALL LANGUAGE MODELS2.2 LIGHTWEIGHT GRAPH-BASED KNOWLEDGE RETRIEVAL2.2.1 QUERY SEMANTIC MAPPING2.2.2 TOPOLOGY-ENHANCED GRAPH RETRIEVAL 注意不含评…...

微服务入门(go)
微服务入门(go) 和单体服务对比:里面的服务仅仅用于某个特定的业务 一、领域驱动设计(DDD) 基本概念 领域和子域 领域:有范围的界限(边界) 子域:划分的小范围 核心域…...

Baklib揭示内容中台实施最佳实践的策略与实战经验
内容概要 在当前数字化转型的浪潮中,内容中台的概念日益受到关注。它不再仅仅是一个内容管理系统,而是企业提升运营效率与灵活应对市场变化的重要支撑平台。内容中台的实施离不开最佳实践的指导,这些实践为企业在建设高效内容中台时提供了宝…...
C++11新特性之lambda表达式
1.介绍 C11引入了lambda表达式。lambda表达式提供一种简洁的方式来定义匿名函数对象,使得在需要临时定义一个函数时非常方便。 2.lambda表达式用法 lambda表达式的基本用法为: [捕获列表](参数列表)->返回类型 { 函数体 …...

洛谷 P10289 [GESP样题 八级] 小杨的旅游 C++ 完整题解
一、题目链接 P10289 [GESP样题 八级] 小杨的旅游 - 洛谷 二、题目大意 n个节点之间有n - 1条边,其中k个节点是传送门,任意两个传送门之间可以 以0单位地时间相互到达。问从u到v至少需要多少时间? 三、解题思路 输入不必多讲。 cin >> …...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...