在python中初始化项目布局?

Ste*_*ini 11 python

假设一个程序员有以下问题:他想要启动一个新的python项目.他需要一个样板文件的基本布局,比如测试目录,源目录,setuptools脚本等.他如何用一个命令创建所有这些东西和布局?

例如,贴纸(如其中一个答案所示,为您提供此服务)

paster create 
Selected and implied templates: PasteScript#basic_package 
A basic setuptools-enabled package 
Run Code Online (Sandbox Code Playgroud)

但是paster是一个工具的一部分,其主要范围不是包的部署.如果我想要一个库的模板和一个应用程序的模板怎么办?如何修改模板以添加我自己的个人资料?

Dou*_*yle 10

你需要一些支持模板的东西来解决这个问题.python社区中最常用的是pastescript.

easy_install pastescript # A one-time install
paster create
Run Code Online (Sandbox Code Playgroud)

如果您已经确定了包的名称,那么它只是:

paster create mypackage
Run Code Online (Sandbox Code Playgroud)

如果要自定义模板,最简单的方法是创建自己的python包,其中包含所需的自定义模板.将它安装到您的环境中后,您就可以根据需要使用此自定义模板.(这是像pylons这样的框架用来为Web应用程序创建模板的东西).

paster create -t libtemplate mypackage
paster create -t apptemplate mypackage
Run Code Online (Sandbox Code Playgroud)

有关如何创建模板(包含代码和源文件的混合)的更多详细信息,请查看:http://pythonpaste.org/script/developer.html#templates 您会注意到模板支持继承,因此您可以,例如,只需构建包含的模板,或创建自己的,从头开始的模板.

有关自定义模板的一个很好的示例,您可以在这里查看源代码中的pylons模板:Pylons Template Code

另外,如果你还没有使用它,你应该看看Ian Bicking的virtualenv.它允许您创建临时的"虚拟"环境,允许您安装python包,而无需使用和/或与您可能安装的任何系统范围的软件包冲突.

使用virtualenv和pastescript的标准设置可能如下所示:

mkdir mypackage && cd mypackage
virtualenv --distribute env
source env/bin/activate # 'Turns on / activates' the environment
easy_install pastescript
paster create mypackage
Run Code Online (Sandbox Code Playgroud)