![](/img/trans.png)
[英]How to Make a CLI for a Git Repository Using Python Argparse and Click
[英]Make CLI with argparse and setuptools
我有一个模块 sfind.py。 我该如何做到这一点,以便我可以通过不带 py 前缀的文件名运行脚本?
python sfind instead python sfind.py
sfind.py
import argparse
def createParser():
some logic
return parser
def main(namespace):
some logic
if __name__ == '__main__':
parser = createParser()
namespace = parser.parse_args()
main(namespace)
我尝试使用 setuptools 来完成,在同一目录中创建了新文件 setup.py。
设置文件
从 setuptools 导入设置
setup(
name='sfind',
version='0.1',
packages=['sfind'],
entry_points={
'console_scripts': [
'sfind=sfind:__main__'
]
})
但是发生了错误
python: can't open file 'sfind': [Errno 2] No such file or directory
有人可以帮我做对吗?
文件结构:
-sfind
--__init__.py
--__main__.py
--sfind.py
--test.py
您不需要 setuptools 将您的模块称为python sfind
。 Setuptools 将允许您仅通过sfind
进行调用。 若要称之为python sfind
,你必须让你的sfind
一个模块,你可以通过使蟒蛇目录为此sfind
与__init__.py
, __main__.py
和sfind.py
在目录中。 然后,您可以仅使用python sfind
进行调用。 如果您只想使用sfind
调用它,您可以使用设置工具,但建议您提供可调用函数(例如sfind=sfind.sfind:main
)而不是模块本身( __main__
)作为您的entry_points
。 然后,您可以执行python setup.py install
或python setup.py sdist
然后执行pip install
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.