V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
misaka19000
V2EX  ›  Python

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

  •  
  •   misaka19000 ·
    RitterHou · Aug 1, 2017 · 5774 views
    This topic created in 3191 days ago, the information mentioned may be changed or developed.

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

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

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

    你用编辑器查看一下`{PY_HOME}/bin/{command}`的源码就行了啊
    snBDX1b0jJM4ogKd
        21
    snBDX1b0jJM4ogKd  
       Aug 2, 2017 via Android
    cat `which scrapy`
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1178 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 23:21 · PVG 07:21 · LAX 16:21 · JFK 19:21
    ♥ Do have faith in what you're doing.