내가 파이썬으로 작성된 명령 행 프로그램 (구체적으로 생각해 보면 argparse를 사용하는 docopt)을 가지고 있으며 python my-program.py command1 args
대신 my-program command1 args
으로 실행하려면 어떻게해야합니까? 현재 Debian 기반 OS (예 : Ubuntu) 용입니다.파이썬 프로그램에서 어떻게 커스텀 시스템 명령어를 만들 수 있습니까?
나는 보통 내 모듈을 패키지로 만들었으므로 이미 setup.py
을 가지고 있지만 자유 명령을주지는 못한다.
감사합니다.
편집
@pyrospade 아래에 아주 좋은 링크를했다. 나는 내 결과를 나눌거야.
는 쉘에서 cli.py
에 액세스하려는 경우가 scripts=['package/cli.py']
을 사용할 수 있습니다 우리가
top-level-directory
setup.py
package/
__init__.py
cli.py
있다고 가정합시다.
당신이 내가 docopt
을 사용하기 때문에, 내가 가진
entry_points={
'console_scripts':
['my-cli=package.cli:main']
}
사용할 수 my-cli
로 실행하려면이
def dispatcher(...)
def fun1(....)
def main():
arguments = docopt(COMMAND, version="xxxx")
dispatcher(arguments)
if __name__ == '__main__':
main()
당신도 다시 ['my-cli=package:main']
하지만 말에 의해 __init__.py
아래를 넣을 수 있습니다, main()
이라는 함수가 필요합니다. 그러나 원하는대로 이름을 지을 수 있습니다. 그냥 말해.
안녕하세요. 감사합니다. 이제 실행 파일로 만들면 시스템 내의 어느 위치에서 실행합니까? – CppLearner
대답을 업데이트했습니다 ... 경로로의 심볼릭 링크 – pyrospade
지금 당장 나에게 맞는 소리가납니다. :/이걸 기억하지 못했습니다. 고마워. – CppLearner