过去,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没有对包执行任何操作。为什么不下载包?
答案 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
哪个仅允许从您的网站包中获取jinja2
和mako
个包,但没有其他内容。
allowed-eggs-from-site-packages
支持全局,默认设置为*
。
答案 1 :(得分:0)
Buildout实际上比我原先想象的要“聪明”。由于依赖'jinja2 == 2.6'已在我的机器上满足,它只是创建了一个指向该包的链接,这就是为什么它没有下载它。有趣。