Pip、Virtualenv与Git项目搭建与引导

5 投票
1 回答
2059 浏览
提问于 2025-04-16 05:54

假设你有一个这样的项目结构:

-WebApp
   |_ requirements.txt
   |_ bootstrap.py (virtualenv bootstrap script)
   |_ src
       |_ setup.py
       |_ develop-app
             |_ somecode.py
             |_ morecode.py

这个 bootstrap.py 是用 virtualenv 创建的:

https://virtualenv.pypa.io/en/latest/reference.html#creating-your-own-bootstrap-scripts

现在,整个 WebApp 目录都是一个 git 仓库(当然不包括 virtualenv)。这样做的目的是为了创建一个可移植的 virtualenv/git 环境。问题是,如果你把 develop-app 放在你的 requirements.txt 文件里作为开发依赖,它会把它安装在你的 virtualenv 目录的 /src 下,并且会在你的 virtualenv 的 site-packages 中创建一个符号链接。最终你会得到两份源代码——一份是 git 追踪的,另一份是在 Virtualenv 中使用但没有被 git 追踪的。

那么,你如何确保在 git 追踪的目录(develop-app)中所做的更改能够自动更新到你的 virtualenv 中呢?

1 个回答

4

你可以不把你开发的应用程序加到requirements.txt这个列表里,而是直接从你的Git仓库运行代码。requirements的目的是为了说明你的开发应用需要哪些依赖,对吧?所以让我觉得有点奇怪的是,为什么要让它自己成为依赖呢?

撰写回答