优先选conda还是venv取决于场景:科学计算用conda(包+环境双管),Web开发用venv(轻量标准);requirements.txt应为最小运行依赖契约,用pipreqs生成后人工精简并采用兼容版本声明。
conda 和 venv 到底该选哪个
多数人卡在第一步:不是不会用,而是没想清楚场景。conda 是包+环境双管,适合科学计算栈(
、
、
混用);venv 是纯 Python 环境隔离,轻量、标准、CI 友好。
常见错误现象:
在 conda 环境里装了
的包,却在 Jupyter 里 import 失败——大概率是 kernel 没换到对应环境,而不是包没装上。
数据处理/模型训练为主 → 优先用
,再
主要依赖
Web 开发或部署脚本 → 直接
,配合
不要在 conda 环境里频繁混用
(尤其带 C 扩展的包),容易触发
requirements.txt 怎么写才不翻车
它不是快照,是契约。直接
会把 conda 装的、系统级的、甚至开发依赖全塞进去,CI 构建时大概率失败。
使用场景:团队协作、Docker 构建、CI/CD 自动部署——这些地方要求可复现、无歧义、最小依赖集。
立即学习
“
Python免费学习笔记(深入)
”;
只放运行时必需的包,用
自动生成初稿,再人工删减
避免写死小版本号(如
),改用兼容声明:
绝对不要在
里写
或本地路径,CI 机器找不到源码目录
区分依赖类型:用
单独管
、
这类工具
多 Python 版本共存时怎么切环境
不是靠改
或手动改
,那是自找麻烦。关键是让 shell 和编辑器都认准同一个解释器路径。
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
常见错误现象:终端里
显示的是
,但 VS Code 还在用系统 Python,断点不进、库提示报错。
激活虚拟环境后,用
(macOS/Linux)或
(Windows)确认路径,复制下来
VS Code 中按
→ 输入 “Python: Select Interpreter”,粘贴路径
别信终端里显示的
前缀——它只是 shell 提示,和实际执行的解释器可能不是一回事
Zsh 用户注意:
后,检查
是否已设,没设说明 activate 脚本没跑完
PyPI 镜像和私有源怎么配才不冲突
全局配置
容易污染所有项目,尤其当你同时对接内网私有源和公网 PyPI 时,一个配错,整个
就卡住不动。
性能影响明显:私有源响应慢、证书校验严,如果把它设成默认,连装个
都要等 10 秒。
项目级配置优先:在项目根目录加
(Linux/macOS)或
(Windows),内容只写当前项目需要的源
临时切换用
,比改配置快得多
私有源必须带
参数(如
),否则 SSL 验证失败,且这个参数不能写在
里(pip 22.2+ 已禁用)
镜像源别用“最快”推荐列表——有些镜像同步延迟大,刚发布的包可能 2 小时后才出现
环境管理最麻烦的从来不是命令记不住,而是每个环节都有隐式状态:shell 的当前目录、IDE 的 interpreter 设置、pip 的配置文件位置、甚至终端是否重新加载过 shell 配置。稍不注意,就变成“我明明装了,它为啥说没装”。
numpypytorchRModuleNotFoundErrorpip installconda create -n myenv python=3.9conda installpython -m venv .venvpip install -r requirements.txtpip installImportError: undefined symbolpip freeze > requirements.txtpipreqs . --forcerequests==2.28.1requests>=2.28.0,requirements.txt-e .requirements-dev.txtpytestblackPYTHONPATHPATHwhich python.venv/bin/pythonwhich pythonwhere pythonCtrl+Shift+P(myenv)source .venv/bin/activate$VIRTUAL_ENVpip.confpip installrequestspip.confpip.inipip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ requests--trusted-host--trusted-host artifactory.example.compip.conf