[英]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.