请问一下类似于 Scrapy 这种直接在命令行就可以执行的 Python 程序是怎么做到的?

2017 年 8 月 1 日
 misaka19000

直接在命令行敲 scrapy 就可以执行命令了,很好奇这种是怎么做到的,自己也想做个这样的程序。。。

6218 次点击
所在节点    Python
22 条回复
chinvo
2017 年 8 月 1 日
chinvo
2017 年 8 月 1 日
aristotll
2017 年 8 月 1 日
windows 估计是 scrapy.exe Linux 估计是 Python 脚本 加个 shell 头
mdzz
2017 年 8 月 1 日
julyclyde
2017 年 8 月 1 日
entrypoint
misaka19000
2017 年 8 月 2 日
@chinvo #2 没看懂到底是怎么做的,能再详细的解释一下吗?
gyh
2017 年 8 月 2 日
@misaka19000 他的意思是让你自己搜索,因为这是很明显搜索就可以得到答案的问题
binux
2017 年 8 月 2 日
setup.py 有设置,安装的时候给你装了一个指令
misaka19000
2017 年 8 月 2 日
@gyh #7 搜索了,但是搜索的结果并不是我想要的
misaka19000
2017 年 8 月 2 日
@gyh #7 我是没有搜到想要的内容才来问的
misaka19000
2017 年 8 月 2 日
@gyh #7 我感觉他给的搜索内容就是一堆废话,我当然之后怎么在 Linux 里面设置 Python 可直接运行并且加入到环境变量中,但是这和我问的问题有关系吗?估计他根本也没看懂我在问什么就随便丢个链接了
Jat001
2017 年 8 月 2 日
setup(
entry_points={
'console_scripts': [
'command = pkg.bin.cli:main',
],
}
)
rabbbit
2017 年 8 月 2 日
Trim21
2017 年 8 月 2 日
我知道的两个办法
1. 如果你开发的是一个 python 的包,希望通过 pip 安装,就是 12 楼的办法
2. 如果只是一个 python 文件,就是 1 楼想告诉你的办法,把 python 文件 chmod +x 之后放到 path 里面去
dsg001
2017 年 8 月 2 日
查看下安装包代码呗
oott123
2017 年 8 月 2 日
你要找的是不是:REPL
mentalkiller
2017 年 8 月 2 日
@misaka19000 你可能需要:docopt (Python3 命令行参数解析工具)
slideclick
2017 年 8 月 2 日
12 楼的办法,
scrapy.py 里面有一句 if __name__== 'main'
chinvo
2017 年 8 月 2 日
@misaka19000 #11 我个人认为我之前对你的问题的理解没有错误,审题后得出你想要把 py 文件加执行权限然后丢 path

如果你说的是 scrapy 的参数(原谅我并没有看出你想表达这个)后面有人给出了回应
Morriaty
2017 年 8 月 2 日
本身就是 py 脚本程序啊.....

你用编辑器查看一下`{PY_HOME}/bin/{command}`的源码就行了啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/379662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX