Могу ли я взять пакет cpython? - PullRequest
2 голосов
/ 10 июля 2010

Я использовал cpython api для загрузки py из C / C ++.

Но, если я не хочу устанавливать cpython в клиенте, могу ли я взять пакет dll cpython в моей программе?

Как это сделать?

Ответы [ 3 ]

1 голос
/ 10 июля 2010

Установщики-установщики, такие как PyInstaller (кроссплатформенный) и py2exe (только для Windows), в основном выполняют эту работу для вас в целом, за исключением того, что исполняемый файл в основесозданный пакет принадлежит вам, а не вашему.

Но в принципе вы можете имитировать их поведение с точки зрения настройки файла .zip со всеми необходимыми модулями библиотеки Python (или просто заархивируйте все встандартная библиотека Python, если вы хотите разрешить запуск кода Python из своего приложения для импорта чего-либо оттуда), и следуйте простым советам в разделе Встраивание Python в другое приложение *1009* документации по Python.

Обратите внимание, что встраивание Python равнозначно расширению Python плюс немного кода для инициализации и финализации самого интерпретатора и небольшая упаковка, как я только что упомянул;если вы никогда не писали расширения Python, я бы посоветовал сначала попрактиковаться в этом, поскольку это самая существенная часть задачи (не так уж сложно с такими помощниками, как boost python , но больше работы, если вы решите это сделатьвместо уровня "голый C").

1 голос
/ 10 июля 2010

Вам не нужно настраивать Python для встраивания его в приложения. Ядро интерпретатора Python доступно в виде общей библиотеки, которую вы можете динамически загружать в свое приложение и распространять вместе с ней.

Читайте на встраивание Python в официальные документы. Кроме того, эта статья кажется хорошей и всеобъемлющей для Linux. Для Windows прочитайте примечания здесь .

Вот еще один вопрос , в котором обсуждается эта проблема.

0 голосов
/ 10 июля 2010

Лицензия Python, вероятно, трудна для понимания юристом, не являющимся носителем английского языка.Так что да, вы можете распространять неизмененную DLL, так как она содержит уведомление об авторских правах.

Было бы вежливо указывать, например, «Эта программа содержит интерпретатор языка Python версии X.XX http://python.org для получения дополнительной информации» или аналогично где-нибудь в программе или документации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...