Импорт всей стандартной библиотеки Python
Вопрос
Мне нужен способ импортировать всю стандартную библиотеку Python в мою программу.
Хотя это может показаться плохой идеей, я хочу сделать это так, чтобы py2exe упаковал всю стандартную библиотеку с моей программой, чтобы мои пользователи могли импортировать из нее в оболочку, которую я им предоставляю.
Есть ли простой способ сделать это?
Бонусные баллы:Я бы предпочел, чтобы это действие НЕ импортировало пакеты, которые я установил в site-packages и которые не поставляются с Python.Однако это не критично.
Решение
Эй, я только что кое-что придумал:Мне нужен только список всех модулей в stdlib, а затем я автоматически сгенерирую скрипт Python, который импортирует каждый из них "вручную", вот так:
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
# ...
В модуль Python, который я импортирую в свою программу.
Это работает!py2exe упаковывает весь стандартный файл.
Обновить:
Я создал пакет, который делает это.Я бы загрузил его здесь, но поскольку я не вижу никакой кнопки загрузки, вы можете получить его из папки моего проекта:
http://github.com/cool-RR/PythonTurtle/tree/master
Это в папке src
, пакет называется almostimportstdlib
и это задокументировано.
Другие советы
Я создал zip-файл из всей стандартной библиотеки Python, а затем добавил его в sys.path
при запуске программы.
Вы можете посмотреть источники здесь (заброшенный проект ) р>