Importação de toda a biblioteca padrão do Python
Pergunta
Eu preciso de uma maneira de importar toda a biblioteca padrão do Python em meu programa.
Enquanto isto pode parece ser uma má idéia, eu quero fazer isso é tão py2exe vai embalar toda a biblioteca padrão com meu programa, então meus usuários poderiam importar com isso no shell que eu dou-los.
Existe uma maneira fácil de fazer isso?
Os pontos de bónus: Eu preferiria que esta ação não irá importar os pacotes que foram instalados no site-packages e que não vêm com o Python. No entanto, este não é crítica.
Solução
Ei, eu só pensava em uma coisa: eu só preciso de uma lista de todos os módulos em stdlib, e então eu vou gerar automaticamente um script Python que as importações de cada um deles "manualmente", como este:
import re
import math
import time
# ...
E, em seguida, incluir isso com o meu programa.
Então tudo que eu preciso agora é uma lista de fácil formatada de todos os módulos / pacotes em stdlib. Agora como faço para obter isso?
UPDATE:
Eu tenho a lista como esta: Eu instalei o Python 2.6 em uma máquina virtual, em seguida, correu em IDLE:
import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)
Em seguida, copie colado a saída no meu IDE, e fez um pequeno script para escrever:
if False:
import re
import email
import time
# ...
Em um módulo Python que eu importar no meu programa.
Ele funciona! py2exe embala toda a stdlib.
UPDATE:
Eu criei um pacote que faz isso. Eu enviá-lo aqui, mas desde que eu não vejo nenhum botão de upload, você pode obtê-lo fora de minha pasta de projeto:
http://github.com/cool-RR/PythonTurtle/tree/master
É no src
pasta, o pacote é chamado almostimportstdlib
e ele está documentado.
Outras dicas
Eu criei um arquivo zip de toda a biblioteca padrão do Python e, em seguida, acrescentou que para sys.path
quando o programa começou.
Você pode ter um olhar para as fontes aqui (projeto abandonado )