如何将python脚本安装到/bin文件夹中,以便在setup.py中使用CLI?

如何将python脚本安装到/bin文件夹中,以便在setup.py中使用CLI?,python,command-line-interface,Python,Command Line Interface,在阅读了python文档之后,我仍然很难理解它 我也读了那篇文章,它并没有帮助我澄清我的处境 首先,这里是我的文件结构,让你清楚地知道我在做什么 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

在阅读了python文档之后,我仍然很难理解它

我也读了那篇文章,它并没有帮助我澄清我的处境

首先,这里是我的文件结构,让你清楚地知道我在做什么

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安装”时,我试图将其链接到a/bin文件夹。但是,generate_report需要(我可以在代码中对此进行更改)capture.js(只是一个phantomjs文件,我在其中使用python子进程运行该文件)和templates文件夹位于同一目录中,以便运行它(我假设最好将该文件链接到/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_脚本,但我对如何使用它感到非常困惑(甚至不确定我是否正确使用了它)。我已经阅读了python文档,我的主要函数几乎可以处理大部分内容

所以我将generate_report重命名为graphite,现在它可以工作了!(检查my setup.py和您将看到的入口点)

这有帮助吗@菲利帕尔伯格,这实际上是我遵循的指南之一。如果您查看我的入口点并将其与他的进行比较,它们的设置方式相同