首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

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

  •  
  •   shawndev · 47 天前 · 355 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像 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 ,并没有看出什么端倪。

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

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

    https://packaging.python.org/guides/distributing-packages-using-setuptools/#id59
        4
    frostming   47 天前
    你看看 you-get 的 setup.py 怎么写的就行了
        6
    shawndev   47 天前
    @frostming 感谢,我试一下,因为没看到 setup 里面由路径相关的设置所以没意识到。
        7
    shawndev   47 天前
    @Trim21 感谢,我试一下。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3858 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1