首页 / 资讯中心 / 文章详情

电脑里有个封闭的Anaconda,如何再装个独立的Miniconda并管理多个Python环境?方法如下

电脑里有个封闭的Anaconda,如何再装个独立的Miniconda并管理多个Python环境?方法如下 ★ FEATURED ARTICLE
【前提】判断是否需要重新创建环境新任务来了│▼Q1: 任务指定了Python版本吗当前环境版本是否匹配├─ 不匹配 → 创建新环境└─ 匹配或未指定 → 继续│▼Q2: 任务有提供 environment.yml 或 requirements.txt 吗├─ 有 → 建议创建新环境直接复现最省心└─ 没有 → 继续│▼Q3: 在当前环境执行 conda install 新包 --dry-run有冲突吗├─ 有冲突提示降级/删除 → 创建新环境└─ 无冲突 → 继续│▼Q4: 这个环境是否还有其他重要任务在用├─ 是共用环境 → 建议创建新环境避免影响他人/其他任务└─ 否独享 → 直接在当前环境装包简单版判断记这3条问自己是则创建新环境新任务需要的Python版本和现在不一样吗✅ 创建新任务需要的某个包版本和现有包冲突吗✅ 创建我不确定会不会冲突但想100%保险✅ 创建核心原则创建新环境的成本很低几秒钟但解决环境冲突的成本很高几小时。不确定时就新建一个。解决方案Miniconda 独立Python环境管理问题答案电脑已有封闭Anaconda能否再装一个独立的Python环境管理器✅ 能装Miniconda不同任务需要不同Python版本/包会冲突吗❌ 不会用conda环境隔离一个Miniconda能管多少个环境任意多个互不干扰【一】安装Miniconda关键步骤### 下载- 官网https://docs.conda.io/en/latest/miniconda.html- 选择Windows 64-bit根据你的系统- 当你前往Miniconda官网下载时不用在众多版本中感到困惑。因为Miniconda 的“base”环境是什么 Python 版本一点也不重要。Miniconda 的功能就是创建和管理独立的虚拟环境。执行具体任务时你可以随时用一行命令创建一个全新的、指定了任意 Python 版本的、完全独立的环境。### 安装时的选项非常重要安装到新目录不要和现有 Anaconda3 混在一起WindowsC:\Users\你的用户名\miniconda3Mac/Linux~/miniconda3取消勾选Add Miniconda3 to my PATH environment variable避免干扰原平台选项选择原因Create shortcuts✅ 勾选创建开始菜单快捷方式Add to PATH❌不勾选避免与原有Anaconda冲突Register as default Python❌不勾选避免干扰其他程序Clear package cache✅ 勾选释放磁盘空间### 安装后验证# 打开 Miniconda Prompt开始菜单 conda --version # 应显示版本号 conda env list # 应看到 base 环境路径### 首次使用同意服务条款必须做仅一次conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2注意出现的蓝色超链接不需要点击直接按回车执行即可。---### 与原封闭平台的关系你的电脑├── 原有封闭平台 (Anaconda3)│ └── 路径: C:\ProgramData\Anaconda3│ └── 用途: 只能运行那个特定的分析软件│ └── 不要动它│└── 新安装的 Miniconda (你控制的)└── 路径: C:\Users\你的用户名\miniconda3└── 用途: 你所有的其他数据分析任务└── 完全独立互不影响关键两个系统物理隔离永远不会互相干扰。【二】为新任务创建和管理环境第1步打开 Miniconda Prompt开始菜单 → Miniconda3 →Miniconda Prompt第2步创建环境conda create -n py311_analysis python3.11 -yconda create -n base_env python3.11 -y ↑ ↑ ↑ └── -y 自动确认不用手动输y │ │ └──下载并安装Python 3.11 │ └── base_env 自定义环境名推荐“py版本_用途”如“py311_analysis” └── -n name我要指定环境名字了第3步新环境位置C:\Users\gongx\miniconda3\├── envs/ ← 所有环境都在这里│ ├── py311_analysis/ ← 你创建的环境你的命名│ │ ├── python.exe ← 该环境的Python│ │ └── Lib/site-packages/ ← 该环境的包│ └── ...├── python.exe ← base环境的Python不建议用└── ...第4步激活环境conda activate py311_analysis注意命令行提示符从(base)变成(py311_analysis)第5步安装包这一步现在不是必须可以需要时再安装conda install pandas -y # 装单个包如pandasconda install pandas numpy matplotlib jupyter -y # 装多个包需要某种包时如何确定该采取何种安装方式conda vs pip情况用什么在Miniconda Prompt中主流数据科学包numpy, pandas, pytorchconda install XXconda里找不到的包pip install XX需要最新版本pip install XX不确定先conda search 包名找不到再用pip注意每次安装包前须先激活对应环境第6步验证环境python --version conda list熟悉后可一次性运行完整命令含创建新环境、安装所需Python、安装所需包conda create -n py311_analysis python3.11 pandas matplotlib jupyter -y【三】执行特定任务时在PyCharm中配置环境步骤安装PyCharm →打开→选择conda环境→运行代码版本版本特点适用场景Community社区版免费、开源纯 Python 开发完全够用Professional专业版30天免费试用之后需付费需要 Web 开发、数据库工具、远程开发等高级功能注意安装PyCharm 时不要让 PyCharm 污染系统 PATH。选项建议原因将 launchers 目录添加到 PATH❌不勾选保持 PATH 干净与之前的策略一致.py关联✅ 可以勾选方便双击打开 Python 文件64 位启动器✅ 可以勾选在桌面创建快捷方式【四】删除不再需要的conda 环境第一步确保要删除的环境当前没有激活在 Miniconda Prompt 中先确认一下命令行提示符前面的括号里是不是你要删的那个名字。如果是先退出它回到base环境。conda deactivate退出后提示符会变回(base)。如果不是可以直接进行下一步。第二步执行删除命令conda remove -n 要删除的环境名 --all第三步确认删除输入命令并回车后系统会显示一个将要删除的包列表并询问Proceed ([y]/n)?输入y然后按回车确认删除。删除后确认那个环境名字已经消失查看所有环境列表文件夹名称或使用代码conda env list常见问题这个操作会误删我的代码或数据文件吗完全不会。conda remove命令只删除envs目录下那个环境文件夹里的内容比如 Python 解释器、安装的包等。你写在桌面或项目文件夹里的.py脚本、Excel 数据等绝对安全不会被触碰。【总结】完整工作流日常使用# 每天开始工作时在“开始”栏打开 Miniconda Prompt conda activate py311_analysis # 激活你需要的环境 python your_script.py # 运行你需要的代码 # 需要新任务时重新创建环境并激活 conda create -n 新环境 python3.11 -y #创建新环境 conda activate 新环境 #激活所需环境 conda install 包名 -y #安装所需包 # 不确定环境是否正确时的验证流程 conda env list | findstr * # 1. 列出所有Conda环境当前激活的环境将显示一个星号* python --version # 2. 确认Python版本正确 conda --version # 3. 确认conda正常其他常用命令速查操作命令在Miniconda Prompt中退出环境conda deactivate查看所有环境conda env list查看当前环境包列表conda list删除环境conda remove -n 环境名 --all【其他问题】QAnaconda、PyCharm、Python功能区分AAnaconda/Miniconda负责帮你把 Python 环境搭好、需要的工具库装好。推荐新手直接装这个PyCharm负责给你提供一个好用的界面来写代码。Python你写的代码最终运行的核心。Q“conda 环境”和“Python环境”哪种说法准确--------Conda 环境√说法含义准确性Python 环境仅仅指 Python 解释器 它的包⚠️ 不够完整Conda 环境Python 解释器 包 Conda 本身的管理信息✅ 更准确一个 Conda 环境里有什么一个 Conda 环境如 py39_analysis/├── Python 解释器 (python.exe)├── Python 标准库├── 安装的包 (numpy, pandas, ...)├── Conda 的元数据记录装了哪些包、版本、依赖关系└── 可能还有非 Python 的工具如 curl, git 等关键点 Conda 环境不仅管理 Python还可以管理任何软件包包括 C 库、命令行工具。Q什么时候需要退出当前环境--------很少场景场景是否需要退出原因切换到另一个 Conda 环境❌ 不需要直接conda activate 新环境即可会自动切换关闭终端窗口❌ 不需要窗口关了环境自然就退了在这个环境的工作做完了❌ 不需要直接关终端或放着不管都没问题要在系统自带的 Python 下运行某个命令✅ 需要例如系统 Python 有某个工具Conda 环境里没有要调试 Conda 环境本身的问题✅ 可能需要排除当前环境的干扰写脚本时脚本里需要切换环境✅ 需要脚本执行完要恢复原状核心原则只有在“明确不想用当前环境且要用环境之外的东西”时才需要退出。Q什么是系统自带的 Python系统 Python是指操作系统自带的、或者你手动安装到系统目录的那个 Python它不属于任何 Conda 环境。操作系统系统 Python 的位置说明WindowsC:\Python3xx\或C:\Program Files\Python3xx\Windows 不自带 Python是你自己安装的macOS/usr/bin/python3macOS 10.15 系统自带 Python 3Linux (Ubuntu/Debian)/usr/bin/python3系统自带 Python很多系统工具依赖它注意严格来说 Windows 没有「系统 Python」但大家习惯把「安装到系统目录、不在 Conda 里的那个 Python」也叫系统 Python。你的电脑上的 Python们┌─────────────────────────────────────────────────────────┐│ 系统 Python/usr/bin/python3 ││ ├── 操作系统自带或手动安装 ││ ├── 很多系统工具依赖它macOS/Linux ││ └── ❌ 不要在里面乱装包可能会破坏系统 │├─────────────────────────────────────────────────────────┤│ Conda base 环境~/miniconda3/bin/python ││ ├── Conda 安装时创建的默认环境 ││ ├── 建议也不要在里面装太多包 ││ └── ✅ 比系统 Python 安全但最好还是创建子环境 │├─────────────────────────────────────────────────────────┤│ Conda 子环境~/miniconda3/envs/py39_xxx/bin/python ││ ├── 你为具体任务创建的环境 ││ ├── 可以随便装包、随便删 ││ └── ✅✅ 日常分析都在这里做 │└─────────────────────────────────────────────────────────┘什么时候会用到系统 Python场景说明系统工具依赖macOS 的某些脚本依赖/usr/bin/python3动它可能导致系统出问题全局命令行工具用pipx安装的工具如black、ruff会用到调试 Conda 问题退出所有 Conda 环境测试系统 Python 是否正常写跨平台的安装脚本脚本可能需要检测系统原生 Python重要警告不要乱动系统 Python# ❌ 千万不要这样做macOS/Linux sudo pip install xxx # 往系统 Python 里装包 # 可能导致的后果 # - 系统自带的某个工具如 App Store崩溃 # - 系统更新失败 # - 需要重装操作系统才能恢复规则 系统 Python 仅供操作系统使用你的数据分析代码永远不要依赖它。Q如何区分当前用的是哪个 Python# 方法1查看路径 where python # Windows which python # Mac/Linux # 方法2查看是否为 Conda 环境 conda info | grep active # 如果有输出说明在 Conda 环境里 # 方法3查看 Python 路径 python -c import sys; print(sys.executable)输出示例# 在 Conda 环境里 /Users/me/miniconda3/envs/py39_analysis/bin/python # 在系统 Python 里 /usr/bin/python3Q在激活指定conda环境的情况下conda install和pip install两种安装包的方式是否有区别有。虽然两者在激活环境后都能正确安装到当前环境但它们在包来源、依赖处理、兼容性方面有重要区别。特性conda install更全面pip install更新包来源Conda 官方仓库defaults/conda-forgePyPIPython Package Index依赖检查检查所有依赖包括非Python库只检查Python包依赖非Python库✅ 能处理如C库、CUDA、OpenBLAS❌ 无法处理需编译或系统预装环境一致性强conda管理所有包版本弱可能打破conda依赖树情况1conda install 成功pip install 可能失败情况2pip 有更新版本conda 版本较旧情况3混合使用导致环境损坏# 激活环境后安装包时混用conda 和 pip的风险 conda activate myenv conda install scipy1.10 # conda安装scipy及其依赖 pip install numpy1.26 # pip强制升级numpy # ⚠️ 危险scipy可能不兼容numpy 1.26但conda不知道pip的改动最佳实践建议✅优先使用conda当包存在时✅conda没有的包再用pip✅ 永远不要用 pip 升级 conda 已经安装的包✅如必须在同一个环境中混用最后用conda同步# 混用时最后用 conda 同步 conda install scipy1.10 #conda会自动解决依赖关系安装合适的NumPy版本如1.24版本 pip install numpy1.26 #pip直接覆盖了NumPy 1.24 → 1.26SciPy 1.10与NumPy 1.26不兼容 conda install scipy1.10 --force-reinstall #重新安装SciPy 1.10conda降级NumPy到兼容版本❌避免频繁混用且不检查conda install package-a pip install package-b conda install package-c # 频繁混用且不检查可能破坏pip装的包Q其他常见问题及解决方法问题原因解决方法conda命令找不到没用Miniconda Prompt用开始菜单的Miniconda Prompt装完包还报ModuleNotFoundError包装到了错误的环境先conda activate 正确环境再装PyCharm报错找不到包解释器选的是base环境切换到envs/环境名/python.execonda create失败提示TOS未同意服务条款执行conda tos accept命令-----------------------------------补充1-------------------------------------------Q面临新任务需要安装其他的封闭平台时该怎么做沿用同样的「独立隔离」原则——为每个封闭平台创建独立的生态环境。当新平台也自带 Python/Conda最常见时你的电脑├── 原有封闭平台A (Anaconda3) —— 不动├── 新封闭平台B (自带 Python 3.8) —— 不动├── 新封闭平台C (自带 Miniconda) —— 不动└── 你自己的 Miniconda —— 唯一用来写代码的环境关键安装新平台时不要让它修改系统 PATH不要让它成为默认 Python。Q如果需要在这个封闭平台里「写代码」怎么办方法1在平台脚本中指定完整 Python 路径# 在封闭平台的脚本编辑器里 import subprocess result subprocess.run([ rC:\Users\gongx\miniconda3\envs\py39_analysis\python.exe, my_script.py], capture_outputTrue)多个封闭平台共存的目录结构示例C:\├── ProgramData\│ ├── Anaconda3\ ← 原有封闭平台A│ └── PlatformB\ ← 新封闭平台B│├── Users\gongx\│ ├── miniconda3\ ← 你的独立 Miniconda│ │ └── envs\│ │ ├── py39_analysis\│ │ ├── py310_ml\│ │ └── platform_b_helper\ ← 为平台B写的辅助环境│ ││ └── platform_b_data\ ← 平台B的工作数据│└── Program Files\ ← 尽量不要把封闭平台装这里安装新平台时如果出现以下情况要格外小心需警惕的信号风险应对安装程序要求管理员权限可能修改系统级配置尽量拒绝或装在用户目录自动添加到 PATH可能覆盖你的 python 命令安装后手动检查 PATH修改系统环境变量如 PYTHONPATH可能污染所有 Python 环境记下修改了什么测试后考虑恢复要求关闭杀毒软件可能安装系统钩子谨慎确认来源可靠安装旧版 VC 运行时可能影响其他软件通常没问题但要注意Q万一新平台破坏了环境怎么办症状你的conda activate突然不好使了python命令调出了平台的 Python急救步骤# 1. 查看当前 PATH echo %PATH% # Windows echo $PATH # Mac/Linux # 2. 手动重新初始化 Conda conda init --reverse # 先清除 conda init # 重新初始化 # 3. 或者直接用完整路径激活 C:\Users\gongx\miniconda3\Scripts\conda.exe activate py39_analysis终极方案完全卸载新平台重装 Miniconda5分钟的事从备份的environment.yml恢复所有环境【目前未尝试】一套原则应对所有情况原则说明物理隔离每个封闭平台装在不同目录PATH 隔离不让任何平台自动添加到 PATH环境隔离你的代码永远在你的 Conda 环境里跑快捷方式隔离每个平台用各自的启动快捷方式备份隔离每个平台的环境配置用conda env export备份你的电脑只有一个「可信区域」——就是你自己的 Miniconda 和它管理的环境。所有封闭平台都是「访客」给它们独立的房间不让它们碰你的东西。-----------------------------------补充2-------------------------------------------Q什么是系统 PATHPATH 是系统的 “命令搜索清单”本质是一个环境变量里面存着一堆文件夹路径。当你在终端 / 命令行里敲一个命令比如python、git、node、ping时当你输入python或conda时系统会按 PATH 顺序找到第一个匹配的而非满硬盘乱找。举例假设你的 PATH 里有这几个路径C:\Windows\system32 C:\Python311 C:\Program Files\Git\bin你输入ping→ 去system32里找到 ping.exepython→ 去Python311里找到 python.exegit→ 去 Git 的 bin 里找到 git.exe如果某个软件的目录不在 PATH 里你就必须输入完整路径才能运行很麻烦。Q什么情况需要查询系统 PATH遇到命令找不到、版本不对、刚装工具要验证、排查环境问题时就需要查询系统 PATH。Q如何查询系统 PATHWindows 系统在 cmd 或 PowerShell 中输入# 查看当前命令提示符下的 PATH包括系统 PATH 用户 PATH 当前会话临时添加的 echo %PATH%macOS / Linux# 查看当前会话的 PATH echo $PATH # 分行显示更易读 echo $PATH | tr : \n利用AI辅助判断判断 PATH 里是否存在问题是否需要清理。Q什么情况需要清理PATH1. 出现 “命令冲突 / 版本错乱” 时比如系统里装了多个 Python、Java、Node输入 python 跑出来的不是你想要的版本明明装了新版系统却调用旧版。原因PATH 里旧路径排在前面优先被找到。→ 需要清理多余、旧版本路径。2.软件已经卸载但 PATH 还留着路径很多软件卸载不会自动删 PATH 记录这些无效路径留在 PATH 里会拖慢命令查找速度可能导致奇怪报错→ 必须清理。3.PATH 太长、重复路径太多系统每次执行命令都要遍历一遍效率低。→ 精简 PATH。4.命令提示 “找不到” 但路径明显不对比如你明明加了路径却依然报错路径拼写错误多了空格、中文、特殊符号路径格式错误Windows/Linux 混用→ 检查并清理错误路径。5.安全风险(PATH 里有可疑 / 陌生路径):有些恶意软件、脚本会把自己的目录加到 PATH 最前面劫持系统命令如 ping、cmd、java 等。如果你发现有不认识的陌生路径看起来像临时文件夹、用户目录的可疑项→ 立即清理。6.切换开发环境、重置环境时比如重装系统、重装开发环境从 Python2 切到 Python3统一团队开发环境。需要把旧的、混乱的 PATH 清空重建避免干扰。→ 彻底清理 PATH。7.脚本、自动化任务运行异常有些脚本对 PATH 敏感如多一个路径就调用错程序、路径顺序不对就失败。为了稳定运行需要干净、最小化的 PATH。一句话总结只要出现命令冲突、版本错乱、软件已删但路径还在、PATH 混乱、安全可疑就需要清理 PATH。QWindows系统如何安全清理 PATH而不会搞崩系统原则只删你认识且确定不用的不认识的一律不动。一、只要是下面这些一律保留不要动C:\Windows\system32C:\WindowsC:\Windows\System32\WbemC:\Windows\System32\WindowsPowerShell\v1.0\任何以 Windows、System32 开头的路径上述这些不能删除会搞崩系统其他路径都可以放心删。二、打开 PATH 编辑器安全方式按 Win Pause/Break 或 右键此电脑 → 属性点 高级系统设置点 环境变量找到两个 PATH用户变量 → PATH只对你当前账号生效系统变量 → Path对整个电脑生效一般只需要清理 用户 PATH更安全。安全清理步骤不会出错1.先备份强烈建议点击 Path → 编辑全选复制所有内容粘贴到记事本保存。万一改错直接粘贴回去即可恢复。2.只删这几类路径绝对安全软件已经卸载、不存在的路径。重复的路径一模一样的出现多次。明显错误、乱码、中文乱码路径。旧版本开发工具旧 Python、Java、Node、Git 等测试软件、临时工具的路径。你完全不认识、不知道干嘛的路径。3.不要做的事不要删系统路径上面列的那几个。不要把 Path 清空。不要加奇怪符号、空格、中文路径。不要把不明程序路径放到最前面。4.调整顺序可选想让某个版本优先就把它往上移。例如想用新版 Python就把它移到旧 Python 上面。三、清理完如何验证是否正常打开 cmd 依次输入ping ipconfig notepad python git java这些命令能正常运行说明系统完全没问题。【个人】删除系统 PATH 中的 Anaconda 条目不会影响封闭平台的使用原理当已经在 VS Code 中通过Python: Select Interpreter选中过一个环境后VS Code 将记录该绝对路径之后运行代码时VS Code 直接调用这个完整路径 而不依赖系统 PATH去「找」python。即使 PATH 里没有它照样能用。操作对 VS Code 选择环境的影响删除 PATH 中的C:\Users\gongx\anaconda3\Scripts❌ 无影响删除 PATH 中的C:\Users\gongx\anaconda3\Library\bin❌ 无影响删除 PATH 中的C:\Users\gongx\anaconda3❌ 无影响唯一需要注意的情况如果你重新打开 VS Code并且之前选中的环境找不到了例如整个 anaconda3 文件夹被移动或删除VS Code 才会提示你重新选择。但你现在只是删除 PATH 条目anaconda3 文件夹本身完好无损所以 VS Code 仍然能找到它。
阅读完成 · 觉得有帮助?
咨询建站