Автоматически генерировать Python Egg из Python PasteScript - PullRequest
1 голос
/ 22 июля 2011

Итак, я использую пастер PasteScript и пытаюсь автоматизировать создание яиц.Мой первый шаг - получить шаблон яйца Python.Я заметил, что paster PasteScript имеет встроенный модуль, поэтому я создаю свой шаблон из командной строки:

$paster create -t basic_package

Однако, это задает мне вопросы в виде серии подсказок (Имя проекта, Автор,Версия и т. Д.)Можно ли использовать файл конфигурации или передать аргумент непосредственно в командную строку при вызове PasteScript?

Моя цель - иметь одну команду, которую я могу запустить, чтобы сгенерировать шаблон яйца.

Спасибо за помощь!

1 Ответ

4 голосов
/ 07 сентября 2011

Я недавно обнаружил это сам.«Создание paster» принимает аргумент командной строки --config.Это может быть файл, содержащий переменную для использования.

Например:

Я создам пакет с именем bob из конфигурации с именем bobsetup.cfg.Файл конфигурации будет содержать:

[pastescript]
created = 2011-09-07T14:47:27
egg_plugins__eval__ = []
plus = +
egg = bob
dot = .
description = Bob's magic code
license_name =
zip_safe__eval__ = False
keywords = Python
long_description = Bob's super useful code base
author = Fred Sprocket
author_email = fred.sprocket@example.com
url = http://example.com
version = 1.0.0

Затем я могу использовать это следующим образом:

$ paster create -t basic_package --config=bobsetup.cfg bob

Selected and implied templates:
  PasteScript#basic_package  A basic setuptools-enabled package

Variables:
  author:            Fred Sprocket
  author_email:      fred.sprocket@example.com
  created:           2011-09-07T14:47:27
  description:       Bob's magic code
  dot:               .
  egg:               bob
  egg_plugins:       []
  keywords:          Python
  license_name:
  long_description:  Bob's super useful code base
  package:           bob
  plus:              +
  project:           bob
  url:               http://example.com
  version:           1.0
  zip_safe:          False
Creating template basic_package
Creating directory ./bob
  Recursing into +package+
    Creating ./bob/bob/
    Copying __init__.py to ./bob/bob/__init__.py
  Copying setup.cfg to ./bob/setup.cfg
  Copying setup.py_tmpl to ./bob/setup.py
Running /Users/omul/.virtualenvs/im.analytics/bin/python setup.py egg_info

$

Если я проверю bob / setup.py, вы увидите, что он установил переменные,cat setup.py:

from setuptools import setup, find_packages
import sys, os

version = '1.0'

setup(name='bob',
      version=version,
      description="Bob's magic code",
      long_description="""\
Bob's super useful code base""",
      classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
      keywords='Python',
      author='Fred Sprocket',
      author_email='fred.sprocket@example.com',
      url='http://example.com',
      license='',
      packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
      include_package_data=True,
      zip_safe=False,
      install_requires=[
          # -*- Extra requirements: -*-
      ],
      entry_points="""
      # -*- Entry points: -*-
      """,
      )
...