52

Cythonsの目的が何であるかを知っています。コードを高速化するために、コンパイル可能な C 拡張機能を Python に似た言語で記述します。私が知りたい (そして私の google-fu を使用して見つけることができないように見える) ことは、Cython が既に Python コードを C に分解しているように見えるため、何らかの方法で実行可能形式にコンパイルできるかどうかです。

私はすでにパッケージャーであるPy2Exeを使用していますが、これを使用して、解凍するのが少し難しいものにコンパイルすることに興味があります(Py2EXEを使用してパックされたものは、基本的に7zipを使用して抽出できますが、これは望ましくありません)

これが不可能な場合、私の次の代替手段は、すべてのコードをコンパイルしてモジュールとしてロードし、py2exe を使用してパッケージ化して、少なくともほとんどのコードをコンパイル済みの形式にすることですよね?

4

4 に答える 4

45

これがcythonの埋め込みに関するwikiページです

PythonをにインストールしC:\Python31、Microsoftコンパイラを使用したいとします。

smalltest1.py-コンパイルするファイルです。

test.exe-実行可能ファイルの名前。

の環境変数を設定する必要がありますcl

C:\Python31\python.exe C:\Python31\Scripts\cython.py smalltest1.py --embed

cl.exe  /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\Python31\include -Ic:\Python31\PC /Tcsmalltest1.c /link /OUT:"test.exe" /SUBSYSTEM:CONSOLE /MACHINE:X86 /LIBPATH:c:\Python31\libs /LIBPATH:c:\Python31\PCbuild
于 2010-04-30T09:12:40.487 に答える
30

Embedding Pyrex HOWTOによると、原則として、あなたが望むようなことをすることが可能であるようです。(Pyrex は事実上 Cython の前世代です。)

うーん...その名前は、私が最初に試したよりも優れた検索を示唆しています.「cythonを埋め込む」は、あなたが望むもののように聞こえるこのページにつながります.

于 2010-04-05T23:47:51.137 に答える