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

2017-08-01 23:16:47 +08:00
 misaka19000

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

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

如果你说的是 scrapy 的参数(原谅我并没有看出你想表达这个)后面有人给出了回应
Morriaty
2017-08-02 13:22:04 +08:00
本身就是 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