2010-12-22 3 views
1

setuptools로 배포 가능한 달걀을 만들려고합니다. 내 프로그램은 Python에서 사용할 수없는 wget을 사용하고 있습니다. wget의 존재 여부를 확인하고, 설치하고 설치되지 않은 경우 -1을 반환하거나 설치되어 있으면 0을 반환하는 작은 스크립트를 사용자에게 제공합니다.python을 사용하여 설치를 완료하는 조건을 지정하는 방법 setuptools

내 wget 검사 스크립트가 0을 반환하는 경우에만 내 프로그램 설치를 완료하고 싶습니다. setuptools로 어떻게 할 수 있습니까?

답변

0

wget이 필요한지 여부에 따라 urllib 또는 urllib2 모듈을 사용하여 파이썬에서 자신 만의 wget에 상응하는 프로그램을 작성해 보았습니까? 그런 다음 플랫폼을 넘어서서 통제 할 수있는 무언가를 얻게 될 것이므로 wget에 대한 의존성을 깨뜨릴 수 있습니다. urlretrieve 메서드를보십시오.

1

setup.py에서 setup() 메서드를 호출하기 전에 wget이 있는지 확인하고, wget이 존재하지 않으면 wget이 소프트웨어에 종속되어 있다는 메시지와 함께 종료 할 수 있습니다. 당신은 당신이 wget을 없이 노력하고 무엇이든 달성하고 urlretrieve 방법 URLLIB을 통해 그것을 얻을, 그것은 크로스 플랫폼 솔루션이 될 것입니다 수있는 경우

if __name__ == '__main__': 

    # Check for wget 
    if sys.platform == 'linux2' and not ((os.path.exists('/usr/bin/wget') or os.path.exists('/usr/local/bin/wget')): 
     sys.exit("You need wget binary for this software to work") 

    # setup code 
    setup(name='yoursoftware', 
      version='42', 
      data_files = [ # All your setup details 
         (script_install_location, ['somescript.py']), 

     ) 

다른 포스터는 설명한다.