---
title: "pip 别漂：requirements 写死版本，出事窗口用新 venv 重建 - Angryecho"
description: "Python 依赖一旦写成 package>=1.0 且构建机可随时上公网，某次 pip install 就可能吃到短暂上线的坏包。更稳的基线是： 应用依赖用 == 钉死到已知干净版本；锁文件（如 pip-tools / uv / poetry 生成的 lock）进仓库。"
canonical_url: "https://www.angryecho.com/c/Python/p/P2TBBisKSUCbOaijOpclR"
meta:
  "og:description": "Python 依赖一旦写成 package>=1.0 且构建机可随时上公网，某次 pip install 就可能吃到短暂上线的坏包。更稳的基线是： 应用依赖用 == 钉死到已知干净版本；锁文件（如 pip-tools / uv / poetry 生成的 lock）进仓库。"
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBisKSUCbOaijOpclR%2Crevision_~MjAyNi0xMC0yN1QwMjo1Nzo0OS4yMjMzNTBa%2Cp_Ii9jL1B5dGhvbi9wL1AyVEJCaXNLU1VDYk9haWpPcGNsUiI%2Cs_5WQNfDf4Yu4CxbC-.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "pip 别漂：requirements 写死版本，出事窗口用新 venv 重建"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **pip 别漂：requirements 写死版本，出事窗口用新 venv 重建**

Python 依赖一旦写成 `package>=1.0` 且构建机可随时上公网，某次 `pip install` 就可能吃到短暂上线的坏包。更稳的基线是：

1. 应用依赖用 `==` 钉死到已知干净版本；锁文件（如 pip-tools / uv / poetry 生成的 lock）进仓库。
2. 安装前先看索引上的上传时间与哈希；CI 用 `--require-hashes` 或等价校验。
3. 怀疑污染时，不要在原环境里「再装一遍」。新建 venv / 容器，从锁文件重装，并轮换这台机器能碰到的云密钥与模型供应商 key。

本地开发也建议按项目隔离环境，避免全局 site-packages 被某个工具的启动钩子拖下水。日志里如果出现陌生的 `.pth`、异常的 `sitecustomize.py`，先当信号，而不是当「又一个小插件」。

> 说明：包管理器命令以项目选用的工具为准；本篇强调「钉版本 + 隔离重建」，不构成对某一安全事件的完整处置手册。

## 来源

> \[1] [User Guide — pip documentation](https://pip.pypa.io/en/stable/user_guide/)，查阅于2026年10月24日。

#Python #pip #依赖锁定 #venv #安全习惯

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/Python/p/P2TBBisKSUCbOaijOpclR#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-27T02:57:49.223Z","datePublished":"2026-10-24T02:22:13.892Z","description":"Python 依赖一旦写成 package>=1.0 且构建机可随时上公网，某次 pip install 就可能吃到短暂上线的坏包。更稳的基线是： 应用依赖用 == 钉死到已知干净版本；锁文件（如 pip-tools / uv / poetry 生成的 lock）进仓库。","headline":"pip 别漂：requirements 写死版本，出事窗口用新 venv 重建","isPartOf":"https://www.angryecho.com/c/Python","mainEntityOfPage":"https://www.angryecho.com/c/Python/p/P2TBBisKSUCbOaijOpclR","text":"Python 依赖一旦写成 package>=1.0 且构建机可随时上公网，某次 pip install 就可能吃到短暂上线的坏包。更稳的基线是：\n\n\n\n\n\n应用依赖用 == 钉死到已知干净版本；锁文件（如 pip-tools / uv / poetry 生成的 lock）进仓库。\n\n\n\n安装前先看索引上的上传时间与哈希；CI 用 --require-hashes 或等价校验。\n\n\n\n怀疑污染时，不要在原环境里「再装一遍」。新建 venv / 容器，从锁文件重装，并轮换这台机器能碰到的云密钥与模型供应商 key。\n\n本地开发也建议按项目隔离环境，避免全局 site-packages 被某个工具的启动钩子拖下水。日志里如果出现陌生的 .pth、异常的 sitecustomize.py，先当信号，而不是当「又一个小插件」。\n\n\n\n说明：包管理器命令以项目选用的工具为准；本篇强调「钉版本 + 隔离重建」，不构成对某一安全事件的完整处置手册。\n\n来源\n\n\n\n[1] User Guide — pip documentation，查阅于2026年10月24日。\n\n#Python #pip #依赖锁定 #venv #安全习惯","url":"https://www.angryecho.com/c/Python/p/P2TBBisKSUCbOaijOpclR","author":{"@type":"Person","name":"用户470822","url":"https://www.angryecho.com/u/cK54AGVX"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
