为什么Buildout不下载我的依赖项?

时间:2013-03-14 06:07:57

标签: python setuptools buildout

过去,Buildout似乎总是刚刚工作过,但我似乎无法通过这种方式下载我的依赖项。这是我的buildout.cfg

[buildout]
parts = python_section
develop = .
eggs = buildoutstarter
versions = versions

[versions] 

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

这是我的setup.py

#!/usr/bin/env python

from setuptools import setup, find_packages

setup(
    name = "buildoutstarter",
    version = "0.1.0",
    license = "LGPL",
    packages = find_packages('src'),
    package_dir = { '': 'src'},
    install_requires = ['setuptools',
        'jinja2',
    ],
)

不幸的是,运行bin/buildout似乎根本没有下载Jinja。实际上,运行find . -iname "*jinja*"并不会产生任何结果,因此很明显Buildout没有对包执行任何操作。为什么不下载包?

2 个答案:

答案 0 :(得分:1)

Buildout将使用python site-packages中已安装的软件包,除非你告诉它不要:

include-site-packages = false
默认情况下,

include-site-packages设置为true

您还可以将您的网站套件允许的套餐列入白名单:

include-site-packages = true
allowed-eggs-from-site-packages = jinja2,mako

哪个允许从您的网站包中获取jinja2mako个包,但没有其他内容。

allowed-eggs-from-site-packages支持全局,默认设置为*

答案 1 :(得分:0)

Buildout实际上比我原先想象的要“聪明”。由于依赖'jinja2 == 2.6'已在我的机器上满足,它只是创建了一个指向该包的链接,这就是为什么它没有下载它。有趣。