什么是正确的方式(或者我将采用良好的方式)来布置一个中等复杂度的命令行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中找到它,但也许我只是错过了它。
答案 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。