Python命令行应用的最佳布局是什么?

9 投票
1 回答
1075 浏览
提问于 2025-04-16 02:40

怎样才能合理地布局一个中等复杂度的命令行 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

撰写回答