Вопрос

Мне нужен способ импортировать всю стандартную библиотеку 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 при запуске программы.

Вы можете посмотреть источники здесь (заброшенный проект )

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top