2011-07-21 22 views
1

因此,我使用了PasteScript的貼紙,並試圖自動創建雞蛋。我的第一步是獲得一個Python蛋的模板。我注意到,PasteScript的貼紙具有一個內置的,所以我一直在通過命令行創建我的模板:從Python PasteScript自動生成Python Egg

$paster create -t basic_package 

然而,這個問我的問題,因爲一系列的提示(項目名稱,作者,版本,等等)。在調用PasteScript時,是否可以使用配置文件或將參數直接傳遞到命令行?

我的目標是有一個命令,我可以運行生成一個雞蛋模板。

感謝您的幫助!

回答

4

我最近自己發現了這個。 「paster create」採用--config命令行參數。這可以是一個包含要使用的變量的文件。

例如:

我將創建一個名爲從配置稱爲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 = [email protected] 
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:  [email protected] 
    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 

$ 

如果我入住的是鮑勃/ 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='[email protected]', 
     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: -*- 
     """, 
    ) 
+0

太棒了,謝謝! – DrakeAnderson