Какой самый простой способ собрать Python26.zip для встроенного дистрибутива?

Я использую Python в качестве плагина скриптового языка для существующего приложения C++. Я могу встроить интерпретатор Python, как указано в документации по Python. Все успешно работает с инициализацией и деинициализацией переводчика. У меня, однако, возникают проблемы с загрузкой модулей, потому что я не смог заархивировать стандартную библиотеку в zip-файл (обычно PythonXX.zip, соответствующий номеру версии DLL-файла Python).

Какой самый простой способ сжать всю стандартную библиотеку после оптимизированной компиляции байт-кода? Я ищу простой сценарий или команду, чтобы сделать это для меня, поскольку я действительно не хочу делать это вручную.

Есть идеи?

Спасибо!

2 ответа

Не должно быть слишком сложно написать сценарий для этого. Проверьте zipfile.PyZipFile класс и это writepy метод.

Я бы, вероятно, использовал setuptools, чтобы создать яйцо (в основном java jar для python). Вероятно, файл setup.py будет выглядеть примерно так:

from setuptools import setup, find_packages

setup(
    name='python26_stdlib',
    package_dir = {'' : '/path/to/python/lib/directory'},
    packages = find_packages(),
    #any other metadata
)

Вы можете запустить это с помощью python setup.py bdist_egg, Если у вас есть яйцо, вы можете добавить его в путь к Python или установить с помощью setuptools. Я считаю, что это также должно помочь вам с генерацией pycs.

ПРИМЕЧАНИЕ: я бы не использовал это в моей системной директории python. Вы могли бы хотеть настроить virtualenv для этого.

Другие вопросы по тегам