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

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

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

Есть идеи?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 26 апреля 2009

Я бы, вероятно, использовал 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 .

2 голосов
/ 26 апреля 2009

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

...