Python 新项目三步建隔离环境:venv + pip 国内源 + requirements 锁定
新项目开始时,我做的第一件事不是写业务代码,而是先建一个隔离环境。这个习惯帮我省过很多麻烦:不同项目依赖版本不同,如果都装到系统 Python 里,迟早会互相打架。下面三步,就是我每次开新项目都会走的固定流程,照着做,十分钟就能得到一个干净、可复现的环境。
第一步:用 venv 建一个项目专属环境
在项目根目录执行:
python3 -m venv .venv
这条命令会在当前目录生成一个 .venv 文件夹,里面是一套独立的 Python 解释器和 pip。注意不要把 .venv 提交到版本控制,记得把它加进 .gitignore。创建完成后激活它:
source .venv/bin/activate
激活成功后,终端提示符前面会出现 (.venv) 字样。这时再用 which python 和 pip -V 确认一下,路径应该指向项目里的 .venv,而不是系统目录。只有确认了这一点,后面装的包才真正装进了隔离环境。
第二步:把 pip 换成国内源,安装不再慢
默认源在国外网络不稳定时,装包经常超时重试。激活环境后,我会先设置一次国内源,命令如下(整行作为代码输入,不要点成链接):
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
设置完成后用 pip config list 看一眼,确认 index-url 已经生效。之后安装常用包就顺畅得多,例如:
pip install requests
这里的关键是顺序:先激活虚拟环境,再设置源、再装包。如果顺序反了,源可能写到了系统配置里,或者包装到了系统环境里,后面排查会很绕。
第三步:用 requirements.txt 把依赖锁下来
项目能跑起来还不够,别人拿到代码也要能一键复现。装好依赖后立即导出清单:
pip freeze > requirements.txt
这份文件记录了每个包的确切版本,是项目依赖的快照。换一台机器或新同事加入时,只需要重建并激活环境,再执行:
pip install -r requirements.txt
就能得到基本一致的环境。平时新增依赖后也要顺手重新执行 pip freeze 更新清单,不要等到部署前才想起来补,否则很容易出现本地能跑、线上缺包的情况。
真实踩坑:系统 pip 与虚拟环境混用
我最早踩过的坑,就是没有激活环境就直接 pip install。表面上看安装成功了,运行也正常,但其实包装进了系统 Python。换项目后,旧包和新项目要求的版本冲突,报错信息又指向代码本身,查了很久才发现是环境问题。更麻烦的是,两个项目共用系统环境时,升级一个包可能把另一个项目也搞坏。
解决办法很直接:每次开工先看提示符有没有 (.venv),不确定就执行 which python 核对;做完收尾用 deactivate 退出虚拟环境,回到系统环境后再做其他事;如果环境已经乱了,不要勉强修补,直接删除 .venv 重新创建,再用 requirements.txt 重装,往往比逐个排查更快。
检查清单:创建 .venv、激活并核对路径、设置国内源、安装依赖、导出 requirements.txt、退出时 deactivate。把这六件事做成固定动作,新项目的环境问题基本就不会再反复出现。
- 点赞
- 收藏
- 关注作者
评论(0)