我有这样的目录结构:我可以使用requirements.txt文件来处理本地python目录吗?
src/
--scripts/
----foo/a.py
----bar/b.py
--lib1
--lib2
--lib3
的目的,如果有脚本/富/和脚本/酒吧/可运的Python脚本,利用模块在LIB1的目录,LIB2, LIB3。在活动开发中,脚本lib1,lib2和lib3都是独立的内部git存储库。没有一个静态接口或发布版本依赖。基本上,他们几乎在同一时间由一个小团队编写。
我玩过lib [1-3]子模块,我真的很讨厌这个工作流程。我想我想要的是能够从foo/a.py中执行“import lib1”,并让它使用lib1中的当前代码。一旦成熟,我们可能会对所有东西进行版本化,并致力于生产适当的包。
这样做的一种方法是在每个脚本中使用sys.path
以明确查看'../../'或其他内容。我想知道是否有更优雅的东西。我可以得到像pip install -r requirements.txt
这样的工作吗?我不想做一个官方的pypi setup.py,我只想得到一个指向lib [1-3]目录的当前内容的指针。我喜欢requirements.txt方法的原因是,随着库的成熟,我最终会将版本和git URL放在那里。
或者,有没有完全不同的方式来做到这一点?
如果我没有使用virtualenv,它将在哪里安装? – kbyrd 2013-03-29 18:25:04
如果你从git repo安装,按照我的经验'pip'会在当前工作目录下创建一个'src'目录。我不确定这是故意的还是只是由于未设置'VIRTUAL_ENV'环境变量而导致的错误。如果你从一个本地目录安装,那么它只会尝试将egg链接和'pth'文件写入系统范围的'site-packages'目录,其绝对路径指向你指定的本地目录。 – 2013-03-29 18:44:55