python命令行应用程序的最佳布局是什么?

时间:2010-08-12 05:49:36

标签: python packaging setuptools distribute

什么是正确的方式(或者我将采用良好的方式)来布置一个中等复杂度的命令行python应用程序?我用paster创建了一个python项目框架,它给了我一些文件开头:

myproj/__init__.py
MyProj.egg-info/
 dependency_links.txt
 entry_points.txt
 PKG-INFO
 SOURCES.txt
 top_level.txt
 zip-safe
setup.cfg
setup.py

我想知道,主要是我的程序入口点应该去哪里,以及如何在路径上安装它? setuptools是否为我创建了它?我试图在HHGTP中找到它,但也许我只是错过了它。

1 个答案:

答案 0 :(得分:7)

您无需创建所有内容,.egg-info目录由setuptools生成。你提到了命令行,所以我假设你在某个地方有一个“顶级”脚本,让我们说myproj-bin。然后这将工作:

./setup.py
./myproj
./myproj/__init__.py
./scripts
./scripts/myproj-bin

然后在setup.py中添加这样的内容:

#! /usr/bin/python

from setuptools import setup

setup(name="myproj",
      description='shows how to create a python package',
      version='123',
      packages=['myproj'],  # python package names here
      scripts=['scripts/myproj-bin'],  # scripts here
      )

如果你的项目很复杂,你还可以做很多事情,完整的setuptools手册就在这里:http://peak.telecommunity.com/DevCenter/setuptools