문제

전체 Python 표준 라이브러리를 내 프로그램으로 가져 오는 방법이 필요합니다.

이것은 나쁜 생각처럼 보일지 모르지만, 나는 이것을하고 싶습니다. 그래서 py2exe는 전체 표준 라이브러리를 내 프로그램과 함께 포장 할 것이므로 사용자가 제공하는 쉘에서 가져올 수 있습니다.

이 작업을 수행하는 쉬운 방법이 있습니까?

보너스 포인트 :이 작업은 사이트 패키지로 설치 한 패키지를 가져 오지 않고 파이썬과 함께 제공되지 않은 패키지를 가져 오지 않습니다. 그러나 이것은 중요하지 않습니다.

도움이 되었습니까?

해결책

이봐, 나는 단지 무언가를 생각했다 : 나는 stdlib의 모든 모듈 목록 만 필요하다. 그리고 나는 다음과 같이 "수동으로"각각을 "수동으로"가져 오는 파이썬 스크립트를 자동으로 생성 할 것이다.

import re
import math
import time
# ...

그런 다음 내 프로그램에 포함시킵니다.

따라서 지금 필요한 것은 stdlib의 모든 모듈/패키지의 쉽게 포맷 된 목록입니다. 이제 어떻게 얻을 수 있습니까?

업데이트:

나는 다음과 같은 목록을 얻었습니다. 가상 머신에 Python 2.6을 설치 한 다음 유휴 상태로 달렸습니다.

import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)

그런 다음 출력을 내 IDE에 붙여 넣은 복사 한 후 작성하기 위해 약간의 스크립트를 만들었습니다.

if False:
    import re
    import email
    import time
    # ...

프로그램에서 가져 오는 파이썬 모듈로

효과가있다! py2exe는 전체 stdlib를 포장합니다.

업데이트:

나는 이것을하는 패키지를 만들었다. 여기에 업로드하지만 업로드 버튼이 표시되지 않으므로 프로젝트 폴더에서 가져올 수 있습니다.

http://github.com/cool-rr/pythonturtle/tree/master

폴더에 있습니다 src, 패키지가 호출됩니다 almostimportstdlib 그리고 그것은 문서화되어 있습니다.

다른 팁

모든 Python 표준 라이브러리에서 ZIP 파일을 만들고 다음에 추가했습니다. sys.path 프로그램이 시작되었을 때.

소스를 볼 수 있습니다 여기 (버려진 프로젝트)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top