【发布时间】:2017-07-17 17:39:54
【问题描述】:
在阅读了python文档后,我仍然无法弄清楚。
setup.py and adding file to /bin/
我还阅读了那篇文章,但没有帮助澄清我的情况
首先这是我的文件结构,只是为了让您清楚地了解我要做什么
setup.py
setup.cfg
MANIFEST.in
README.md
requirements.txt
graphite/
- generate_report.py
- capture.js
- templates/
- - pretty much a bunch of JS/HTML/CSS files that get used by generate_report.py
如您所见,generate_report.py 是我唯一的 python 文件,当用户使用我的包运行“pip install”时,我试图将它链接到 /bin 文件夹。 generate_report 但是需要拥有(我可以在代码中更改它)capture.js(只是一个 phantomjs 文件,我使用 python 子进程运行文件)和同一目录中的模板文件夹以运行它(我假设最好将文件链接到 /bin 文件夹,我也假设 setup.py 会为您执行此操作)。
这是我的 setup.py 代码
from distutils.core import setup
setup(
name = 'graphite-analytics',
packages = ['graphite'],
version = '0.1.1',
description = 'Create a print-out template for your google analytics data',
author = 'NAME REDACTED',
author_email = 'EMAIL-REDACTED',
url = 'https://github.com/ARM-open/Graphite',
download_url = 'https://github.com/ARM-open/Graphite/archive/0.1.1.tar.gz',
keywords = ['Google analytics', 'analytics', 'templates'],
classifiers = [],
install_requires=['Click', 'google-api-python-client', 'jinja2'],
entry_points={'console_scripts': [
'graphite-analytics=graphite.generate_report:main'
]}
)
还有我的 MANIFEST.in 文件,以备不时之需
recursive-include graphite/templates *
include graphite/capture.js
我知道我的 setup.py 中运行了 console_scripts,但我对如何使用它感到很困惑(不确定我是否正确使用它)。我已经阅读了 python 文档,我的主要功能几乎可以处理其中的大部分内容。
【问题讨论】:
-
@FilipAllberg 所以这实际上是我遵循的指南之一。如果您查看我的 entry_points 并将其与他的进行比较,它们的设置方式相同
标签: python command-line-interface