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

2019-01-04 10:50:58 +08:00
 shawndev

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

1405 次点击
所在节点    Python
7 条回复
shawndev
2019-01-04 10:54:04 +08:00
django-admin 同理
shawndev
2019-01-04 10:54:55 +08:00
我发布了一个 pypi,叫作 ghtrending,每次都要 python3 -m ghtrending 很麻烦,想简化成 ghtrending
frostming
2019-01-04 11:31:20 +08:00
setup 函数里加上:

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

https://packaging.python.org/guides/distributing-packages-using-setuptools/#id59
frostming
2019-01-04 11:32:07 +08:00
你看看 you-get 的 setup.py 怎么写的就行了
Trim21
2019-01-04 11:33:23 +08:00
shawndev
2019-01-04 12:32:14 +08:00
@frostming 感谢,我试一下,因为没看到 setup 里面由路径相关的设置所以没意识到。
shawndev
2019-01-04 12:32:23 +08:00
@Trim21 感谢,我试一下。

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

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

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

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

© 2021 V2EX