【发布时间】:2012-10-10 13:11:18
【问题描述】:
是否可以在setup.py 中指定(可编辑的)源依赖项,这些依赖项已知驻留在本地文件系统上?
考虑以下目录结构,所有这些都位于单个 VCS 存储库中:
projects
utils
setup.py
...
app1
setup.py
... # app1 files depend on ../utils
app2
setup.py
... # app2 files depend on ../utils
给定以下命令:
cd projects
mkvirtualenv app1
pip install -e app1
我想安装 app1 的所有依赖项,包括“utils”,这是一个“可编辑”依赖项。同样,如果我对 app2 做同样的事情。
我尝试在install_requires 和dependency_links 中使用file://... URL 的所有不同组合,但无济于事。我想使用像src+file://../utils 这样的依赖链接URL,它会告诉setuptools 包的源在这个相对路径的文件系统上。有没有办法做到这一点?
【问题讨论】:
-
这可能会有所帮助:packages.python.org/distribute/…
-
谢谢,罗伯。在在这里提出问题之前,我对该页面进行了广泛的审查。该页面列出了两类 URL:(1) 直接下载 URL,以及 (2) 包含直接下载链接的网页 URL。我希望我的问题属于第一类,但我不知道如何构建 URL。
-
我提交了一个patch to pip 来支持
dependency_links中的相对file:URL,这解决了我的问题。希望它尽快合并。 -
刚遇到这个问题,Rob Wouters 发布的链接已损坏。在此评论中,这是一个有效的方法:pythonhosted.org/setuptools/…
-
你为什么不在 #github 创建一个帐户并在那里托管你的包/fork。这将允许您将该存储库的特定提交称为依赖项。另外,你只是想让它在你的本地主机上工作吗?或者您想要一个适用于所有对软件包感兴趣的人的强大解决方案?
标签: python packaging setuptools distribute