如何将脚本添加到buildout项目?

时间:2010-09-10 20:32:50

标签: python scripting buildout

我在buildout项目中有 setup.py

from distutils.core import setup
setup(name='',
  version='1.0',
  author='Denis Kolodin',
  author_email='...',
  url='...',
  scripts = ['scripts/myscript.py'], # The script I want to add to 'bin/' dir
)

为什么buildout不会将该脚本添加到'bin /'? 我可以使用buildout开发脚本(而不是鸡蛋)吗?

我的 buildout.cfg

[buildout]
develop = .
parts = python scripts

[python]
recipe = zc.recipe.egg
interpreter = python
eggs = marketwizard > 0.2.0
       jinja2

[scripts]
recipe = z3c.recipe.scripts

2 个答案:

答案 0 :(得分:4)

目前,这是一个构建限制:它不能理解setup.py中的“script =”。它 理解setuptools中的“console_scripts =”所谓的“入口点”。谷歌为它或看看有它的现有项目。

我已经修复了buildout,使其支持“scripts =”,但尚未被接受包含。

答案 1 :(得分:0)

我只是做一个真实的例子。

示例setup.py

setup(name='',
  version='1.0',
  author='Denis Kolodin',
  author_email='...',
  url='...',
  entry_points={
    "console_scripts": [
        'myscript = scripts.myscript:main_function',
    ]
  }
)

示例buildout.cfg

[buildout]
develop = .
parts = python scripts

[python]
recipe = zc.recipe.egg
interpreter = python
eggs = marketwizard > 0.2.0
   jinja2

[scripts]
recipe = zc.recipe.egg:scripts
# to be available in your script
eggs = ${python:eggs}
scripts = myscript

注意:main_function这是脚本模块中的函数名(可以是任何名称)。