는 파이썬 스크립트는 다음과 같은 가정 주어진 휴대용 고려 될 수있다 :업데이트하지 않고 Python 스크립트를 판별하는 방법은 Portable입니까? 어떤 조건에서
-
스크립트는 스크립트가 가져온됩니다
- 하나 개의 호스트 (예를 들어,에 CentOS 또는 우분투 리눅스 배포판)에 개발 될 것이다
- 다른 호스트 (예 : CentOS/Ubuntu)
- 대상 호스트에서 pip 또는 다른 메커니즘을 사용하여 업데이트를 발생시키는 것은 허용되지 않습니다 (예 : 서버가 인터넷 액세스 및 IT 정책이없는 클린 룸에 있음).
- 종속성을 가져 오는 것은 허용되지 않습니다. (예 pyInstaller 중에, 나 cx_Freeze, py2exe에 또는 py2app 같은 프로그램을 통해 예 : see relevant post)가 대상 호스트
아마도 용액 휴대용 파이썬 프로그램은 프로그램이 더 모듈 의존성 및 목적지 파이썬 프로그램 버전 경우 있다는 또한 호환됩니다. 그러나, (1) 모듈 의존성이 없다면 Python 스크립트 개발자가 함께 살 수있는 것인지 모르겠다. (2) 파이썬 프로그램의 버전 호환성이 실제로 어떤 의미인지는 모르겠다. (예 : 다른 파이썬 2 스크립트 버전과 호환되는 마이너/패치 버전의 파이썬 2 스크립트) 또한 실제로 일부 모듈은 Python 설치에서 항상 존재하는 "핵심"모듈이라고 가정합니다. 사실입니까? 그리고 파이썬 설치에서 항상 존재하는 것으로 간주되는 코어 모듈이나 다른 모듈의 버전 번호가 다른 경우 비 호환성이 발생할 수 있습니다. 모듈 버전 차이로 스크립트를 이식 할 수 없습니까?
질문 :는 휴대용 있는지 결정하기 위해 파이썬 스크립트를 분석하는 스크립트를 통해 어떤 방식으로 위의 제약 주어진 있는가? 그것이 없다면 인간 검사를 통해 동일한 결단을 내릴 수있는 방법이 있습니까?
내가 상상할 수있는 유일한 방법은 제작자의 정확한 사본 인 개발 팀이 액세스 할 수있는 테스트 환경을 구축하는 것입니다.즉, 정확히 동일한 Python 버전 및 동일한 추가 모듈 (배포 모듈을 통해 또는 직접 파이썬 소스로 설치되었는지 여부 포함)을 의미합니다. –
@SergeBallesta 그리고 (법적인 이유로) 모듈을 재배포 할 수없는 "클린 룸"요구 사항을 가진 미지의 고객에게 전달되는 소프트웨어에는 어려울 것입니다. 귀하의 의견에 감사드립니다. –