Como melhor compilar o projeto C ++ / Cython em um executável?

9

Eu tenho um projeto com vários arquivos C ++ e Python / Cython. Até agora desenvolvi a parte C ++ e compilei-a em uma biblioteca estática com o qmake. Alguns métodos são expostos com o boost :: python e executados a partir de um arquivo .py.

Eu agora queria compilar tudo em um executável autônomo.

Minha pergunta agora: qual é a melhor maneira de fazer isso? Eu tentei mudar para o Cython, compilar os arquivos python e vinculando a biblioteca. Mas parece que não existe um caminho direto com o distutils / setup.py para compilar um executável, apenas bibliotecas compartilhadas.

Existe uma maneira de compilar facilmente arquivos .cpp e .pyx em um executável de uma só vez?

Para que eu possa me livrar de muitas das coisas do boost :: python wrapper e obter uma combinação perfeita de c ++ / python sem precisar importar uma biblioteca compartilhada e compactar todo o material com o pyinstaller?

    
por snøreven 27.05.2012 в 18:42
fonte

1 resposta

1

Você deve procurar:

Como o python é seu ponto de entrada, você poderá empacotar um interpretador independente, ambiente e localização de recursos em um aplicativo / exe / binário. Ele irá coletar todos os módulos da sua biblioteca em seus pacotes de sites independentes

Se você não usa nenhum arquivo py puro normal e só tem arquivos cython, então também é possível incorporar um intérprete em um deles como um ponto de entrada com um sinalizador --embed no cython: link
Note que esta é uma abordagem similar de "congelamento" para as opções de empacotamento mencionadas anteriormente, mas não tem o comprimento extra para construir um env auto-contido

    
por jdi 27.05.2012 / 20:53
fonte