2011-09-12 7 views
10

TL; DR 백그라운드에서 자동으로 스크립트를 업데이트하는 모듈이 필요합니다.자동으로 파이썬 스크립트를 업데이트

사용자에게 배포하는 Python 스크립트가 있습니다. 자주 이것을 업데이트 한 다음 PIP를 통해 업데이트하도록 요청합니다. 분명히, 이것은 앱을 사용하기를 원하고 업데이트하는 것을 생각하지 않는 사용자에게는 우선 순위가 아닙니다.

Google 크롬이 백그라운드에서 자동으로 백그라운드에서 내 앱을 자동으로 업데이트하고 싶습니다. 이미 이것을 할 수있는 도서관이 있습니까? 그렇지 않다면 PIP/배포 모듈을 사용하여 직접 할 수 있습니까?

+0

fyi - pip는 sudo/admin privs를 사용하여 시스템 디렉토리에 설치하므로 사용자가 업데이트 권한이 없을 수도 있습니다. – jterrace

+0

내 homedir에 설치하는 데 사용할 수 있습니까 (예 : ~ ~ .myCLIapp /)? 최악의 경우, 나는 분명히 virtualenv를 설치할 수 있을까? –

답변

1

가장 쉬운 방법은 스크립트가 실행될 때 핑 (ping)하는 웹 서비스를 설정하는 것입니다. 웹 서비스는 버전 번호를 반환 할 수 있으며 스크립트는 자체 버전 번호와 비교하여 확인할 수 있습니다. 버전 번호가 높으면 자체를 업데이트하고 다시 실행할 수 있습니다.

+2

물론 이걸 생각하고 프로토 타입을 반으로 만들었습니다. 그러나 상황이 조금 복잡해집니다. 스크립트가 아니라면 무엇이 될까요, 의존성이 있다면 어떻게 될까요? 그렇기 때문에 아마도 PIP를 사용해야한다고 생각합니다. –

+0

나는이 기술을 과거에 간단한 스크립트 인 Wilduck을 사용하여 성공 시켰습니다. Paul은 종속성에 문제가 있음을 정확합니다. – syrion

1

저는 개발중인 오픈 소스 응용 프로그램에 대해 BitRock을 실험했습니다. 자동 업데이트 기능을 갖춘 응용 프로그램을위한 플랫폼 간 설치 프로그램을 제공합니다. 응용 프로그램이 오픈 소스이지만 상용 제품에 라이센스를 구입해야하는 경우 라이센스는 무료입니다. 귀하의 신청서가 작 으면 잔인 할 수도 있지만, 나는 여전히 그것을 하나의 선택으로 줄 것이라고 생각합니다.

1

pip 설치가 이미 작동하는 경우 스크립트 시작시 os.system("pip install -U myscript")을 사용하면 안되는 이유는 무엇입니까? 이것은 다소 더럽지 만 개발자가 아닌 사람들도 pip를 통해 배포합니다.

관련 문제