您需要做两件事。首先,要求您想要的确切版本,例如:
install_requires = "useful.package==1.9dev-r1234"
然后包含一个dependency_links
设置,指定在哪里找到它:
dependency_links = ["svn://example.org/useful.package/trunk@1234#egg=useful.package-1.9dev-r1234"]
请注意,URL的版本#egg=
部分dependency_links
必须与您在其中指定的内容 完全 匹配install_requires
;这就是将这两部分联系在一起的原因。
发生的情况是setuptools在链接上看到#egg标记,并将该URL保存为该精确版本的软件包的可用下载URL。然后,当稍后尝试解决该要求时,应下载该精确的SVN URL。
(不过,请注意,为使此方法 真正 起作用,目标SVN修订版实际上必须使用该名称和版本来构建一个鸡蛋。否则,您的依赖项将在运行时失败!因此,这仅在您所依赖的软件包有效会在其默认内部版本号中使用SVN修订标签。)