2014-02-22 2 views
2

이 질문에 불분명하면 죄송합니다.python 프로그램을 환경 변수에서 수신하는 방법은 무엇입니까?

저는 Python으로 라이브러리를 작성하여 PyPI (pip)에 업로드했습니다. 내 프로그램을 실행시키고 환경 변수에 대한 입력에 응답하고 싶습니다. 예를 들어

,이 라이브러리를 참조하십시오 https://github.com/rg3/youtube-dl

주사위를 통해 그것을 설치 한 후, 사용자가 즉시 통해 프로그램에 호출 할 수 있습니다.

$ pip install youtube-dl 
$ youtube-dl http://youtube.com/video?v=sdfafd7f6s 

# What's cool is that the above even works in a virtualenv! 

또한 내 프로그램을 환경 변수에 넣고 싶지만이 설정 방법을 잘 모르겠습니다.

실마리가 있습니까? 감사!

+2

어 .. 환경 변수와 아무런 관련이 없다고 생각합니까? 절대 경로를 지정하지 않고도 PATH의 실행 파일을 실행할 수 있습니다. – roippi

+0

맞습니다. 제가 제공 한 예가 경로를 수정하지만 설치 프로세스 중에 그렇게하는 것이 가장 좋을 때를 생각합니다. –

+1

질문의 제목은 "Python 프로그램을 실행 파일로 설치하는 방법"입니다. – cbare

답변

2

귀하의 질문에 명확하지 않습니다. 원하는 것은 파이썬 인터프리터를 명시 적으로 호출하지 않고 명령 행에서 프로그램을 실행하는 것입니다.

이렇게하려면 setup.py에 몇 줄을 넣고 entry point을 선언하면됩니다. 이는 Automatic Script Creation에 설명되어 있습니다.

setup(
    # other arguments here... 
    entry_points = { 
     'console_scripts': ['foo = my_package.some_module:main_func'] 
    } 
) 

당신은 라인들 setup.py file for youtube-dl의 68-71 비슷한 것을 볼 수 있습니다 : 기본적으로, 당신은 console_scripts 항목이 필요합니다.

환경 변수를 실제로 읽으려면 os 모듈에서 environ을 사용하십시오.

import os 

try: 
    important_info = os.environ['IMPORTANT_INFO'] 
except KeyError: 
    raise Exception('Set IMPORTANT_INFO environment variable, please!') 
+0

감사! 그들이 youtube-dl에있는 코드는 비슷했기 때문에 나는 haha를 알아 차렸을 것입니다. –