Python命令行应用的最佳布局是什么?
怎样才能合理地布局一个中等复杂度的命令行 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 个回答
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。