惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
IT之家
IT之家
V
V2EX
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
B
Blog
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网

lvbibir's Blog

shell | 磁盘空间分析脚本 Linux cat 和 tee 命令写入文件 python | 使用 uv 管理你的 python 环境 Claude Code 完整配置指南 windows | mihomo 内核独立部署指南 linux | 磁盘扩容 wsl | 释放长久运行占用的磁盘空间 mysql | 线程上限问题处理 麒麟 7.6 安装谷歌 OTP 认证模块 suse 12sp5 升级 openssh 及 openssl suse 12sp5 部署 mysql 5.7 《谁的青春不迷茫》 docker | centos7 部署 docker vim | 基础配置和使用 windows | rime 输入法 & 雾凇方案 shell | sshpass 批量传输文件及执行命令 wsl | 原生 linux 方式安装 docker nodejs | fnm + pnpm 开发环境配置 wsl | 安装配置 miniconda 虚拟环境 wsl | 自动更新系统代理 wsl | bashrc 环境变量不正确加载的处理方法 wsl | win10 安装 wsl2 troubleshooting | ssh 成功但是 scp 失败 linux | 常用命令总结 docker 部署 piclist shell | 检测网站存活并自动钉钉告警 Zabbix | 监控端口连通性并自动追踪 TCP 路由 windows | 自定义开机快速启动项 Zabbix | 监控主机到指定 ip 的流量大小 shell | centos 初始化
windows | miniconda 配置 python 虚拟环境
lvbibir · 2023-08-07 · via lvbibir's Blog

0 前言

python 虚拟环境的重要性已经无需多言了, 目前所有支持 python 虚拟环境的工具中最好用的应该就是 conda 了, 最重要的一点是可以一键创建不同版本的 python 环境以适应不同的需求.

Anaconda 比较臃肿, 本文使用无 GUI 的 miniconda.

环境:

  • win10
  • miniconda3-py11-23.5.2-0

1 安装

安装前需要确认一下系统及用户的环境变量中不要存在中文, 在 CMD 中直接执行 path 或者 git-bash 中执行 echo $PATH 进行确认, 这个问题当时被折磨疯了, 还给 conda 项目提了 issue.

最新版下载地址

选好路径直接下一步即可, 没有需要注意的自定义配置项

2 配置

2.1 环境变量

在用户环境变量 PATH 添加如下项, 我的安装路径是 D:\miniconda, 按实际情况修改

D:\software\miniconda
D:\software\miniconda\Scripts
D:\software\miniconda\Library\bin

添加完后重启系统, 让系统重新读取一下环境变量

image-20230807100025219

2.2 conda 配置

参考链接

miniconda 默认没有 .condarc 配置文件, 需要生成一下

conda config --set show_channel_urls yes

.condarc 会生成到用户目录下

$ cat .condarc
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
# 不自动激活 base 环境
auto_activate_base: false
# 虚拟环境存放路径
envs_dirs:
  - D:\software\python\envs
# pkg 存放路径
pkgs_dirs:
  - D:\software\python\pkgs

上述配置文件中主要配置了三项: conda 的清华国内源, 虚拟环境和 pkg 的存储路径

如不配置创建虚拟环境时可能会生成到用户目录下, 导致系统盘臃肿, 建议新建一个目录专门存放

2.3 pip 配置

系统中直接安装的 python, 其 pip 的配置文件一般存放在用户目录的 .pip/pip.ini, 使用 conda 创建的虚拟环境的 pip 则不同, 可以使用如下命令查看, 这个问题当时也折磨了我很久

$ pip -v config list
For variant 'global', will try loading 'C:\ProgramData\pip\pip.ini'
For variant 'user', will try loading 'C:\Users\lvbibir\pip\pip.ini'
For variant 'user', will try loading 'C:\Users\lvbibir\AppData\Roaming\pip\pip.ini'
For variant 'site', will try loading 'D:\software\miniconda\pip.ini'

这里我们使用用户目录存放配置文件, 默认也是没有的

$ cat pip/pip.ini
[global]
timeout = 6000
index-url = http://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
proxy=http://127.0.0.1:7890

配置 pip 使用国内的清华源, 最后一条 proxy 可以不写, 这个问题是因为我常开代理, pip 默认用 https 访问系统代理, 导致 pip 报错.

2.4 管理虚拟环境

上述步骤做完后就可以正式使用 conda 创建虚拟环境了

用管理员打开 powershell 使用如下命令初始化 conda

conda init powershell
conda init cmd
conda init bash

之后重新打开终端, 创建你的虚拟环境, -n 表示虚拟环境的名字, 不指定 python 版本默认最新

conda create -n py37 python=3.7

激活虚拟环境

退出虚拟环境

查看虚拟环境列表

删除虚拟环境

conda env remove -n py37 --all

3 其他

conda 最为人诟病的点应该是包管理跟 pip 可能会产生一些冲突, conda 官方给出的最佳方案是

  • 全程使用 conda install 来安装模块, 实在不行再用 pip
  • 使用 conda 创建完虚拟环境后, 一直用 pip 来管理模块
    • pip 应使用 –upgrade-strategy only-if-needed 参数运行, 以防止通过 conda 安装的软件包进行不必要的升级. 这是运行 pip 时的默认设置, 不应更改
    • 不要将 pip 与 –user 参数一起使用,避免所有用户安装

总结一下就是不要来回地用 pip 和 conda, 专一一点 (笑

以上