在github存储库中伪装一个egg

时间:2013-03-19 16:09:01

标签: python django packaging buildout egg

我想在我正在研究的Django项目中尝试这个中间件:https://github.com/directeur/django-pdf。它的名称为“django-pdf”,但与https://pypi.python.org/pypi/django-pdf/1.0.2不同。不幸的是,Directeur django-pdf也不是一个简单的可归类:它没有setup.py或requirements.txt。

是否有一些构建方法或方法将软件包安装到django路径中,或者我是否被迫分配repo并添加setup.py?

这是我当前的开发buildout.cfg:

[buildout]
parts =
    python
    django
    django-nose
    pyflakes
show-picked-versions = true
develop = .
eggs = django-core7
versions = versions

[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}

[django]
recipe = djangorecipe
project = core7
projectegg = core7
settings = development
test = core7
eggs =
    ${buildout:eggs}
    ${django-nose:eggs}
    django_pdb
extra-paths = ${buildout:sources-dir}

[django-nose]
recipe = zc.recipe.egg
eggs =
    django-nose
    coverage

# Make this a separate part so it doesn't get included in Django's path.
[pyflakes]
recipe = zc.recipe.egg
eggs = pyflakes

[versions]
django = 1.5

1 个答案:

答案 0 :(得分:1)

据我所知,buidout在很大程度上取决于setuptools(或者至少是setup.py)。如果没有这个,buildout就无法产生分布(一个鸡蛋)。幸运的是,GitHub可以让您轻松分叉存储库,以便添加setup.py。 ;-)您可能需要考虑提供补丁。

由于没有配方(据我所知)可以让你在没有setup.py的情况下添加项目。这样的项目听起来像反模式,因为这会破坏需要setup.py的项目的“合同”。

第一种选择似乎更好。当您的项目在GitHub上时,您可以使用mr.develop来获取您的依赖项。