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

Chr*_*s R 9 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
Run Code Online (Sandbox Code Playgroud)

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

Ivo*_*Ivo 7

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

./setup.py
./myproj
./myproj/__init__.py
./scripts
./scripts/myproj-bin
Run Code Online (Sandbox Code Playgroud)

然后把这样的东西放在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
      )
Run Code Online (Sandbox Code Playgroud)

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