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
shawndev
V2EX  ›  Python

怎么实现 pypi 安装后在$path 目录下增加可执行文件?

  •  
  •   shawndev · Jan 4, 2019 · 1781 views
    This topic created in 2674 days ago, the information mentioned may be changed or developed.

    像 you-get 一样

    $ pip3 install you-get
    $ which you-get
    /usr/local/bin/you-get
    $ cat /usr/local/bin/you-get
    #!/usr/local/opt/python/bin/python3.7
    
    # -*- coding: utf-8 -*-
    import re
    import sys
    
    from you_get.__main__ import main
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
        sys.exit(main())
    

    查看了源码和 setup.py ,并没有看出什么端倪。

    Supplement 1  ·  Jan 4, 2019
    console_scripts 添加成功, 安装后首次执行固定无输出,v 友们可以帮忙测试一下吗?或者知道原因的回复一下也可以。
    7 replies    2019-01-04 12:32:23 +08:00
    shawndev
        1
    shawndev  
    OP
       Jan 4, 2019
    django-admin 同理
    shawndev
        2
    shawndev  
    OP
       Jan 4, 2019
    我发布了一个 pypi,叫作 ghtrending,每次都要 python3 -m ghtrending 很麻烦,想简化成 ghtrending
    frostming
        3
    frostming  
       Jan 4, 2019
    setup 函数里加上:

    entry_points = {
    'console_scripts': ['ghtrending=ghtrending.__main__:main']
    }

    https://packaging.python.org/guides/distributing-packages-using-setuptools/#id59
    frostming
        4
    frostming  
       Jan 4, 2019
    你看看 you-get 的 setup.py 怎么写的就行了
    shawndev
        6
    shawndev  
    OP
       Jan 4, 2019
    @frostming 感谢,我试一下,因为没看到 setup 里面由路径相关的设置所以没意识到。
    shawndev
        7
    shawndev  
    OP
       Jan 4, 2019
    @Trim21 感谢,我试一下。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2507 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:32 · PVG 14:32 · LAX 23:32 · JFK 02:32
    ♥ Do have faith in what you're doing.