This answer帮我解决了你所说的同样的问题。
似乎没有一个简单的方法来让setup.py直接使用需求文件来定义它的依赖关系,但是相同的信息可以放在setup.py本身中。
我有这个require.txt:
PIL
-e git://github.com/gabrielgrant/django-ckeditor.git#egg=django-ckeditor
但是当安装require.txt包含的包时,pip将忽略这些要求。
这个setup.py似乎强制安装依赖项(包括我的github版本的django-ckeditor):
from setuptools import setup
setup(
name='django-articles',
...,
install_requires=[
'PIL',
'django-ckeditor>=0.9.3',
],
dependency_links = [
'http://github.com/gabrielgrant/django-ckeditor/tarball/master#egg=django-ckeditor-0.9.3',
]
)
编辑:
This answer还包含一些有用的信息。
需要将该版本指定为“#egg = …”的一部分,以确定链接中哪个版本的软件包可用。但是请注意,如果您始终想要依赖于最新版本,可以在install_requires,dependency_links和其他软件包的setup.py中将版本设置为dev
编辑:使用dev作为版本不是一个好主意,如下面的评论。