0

たとえば、blah.pyという名前のpythonファイルをコンパイルしてから、cmakeを使用して別のフォルダーに配置したいと考えています。現在、cmake ファイルで次のコードを使用してこれを行うことができます。

ADD_CUSTOM_TARGET(output ALL /usr/bin/python -m py_compile src/blah.py
                  COMMAND /bin/mv src/blah.pyc build VERBATIM)

これはubuntu 12.04にあります。このコードは意図したとおりに機能します。唯一の問題は、python ファイルがソース ディレクトリでコンパイルされてから、ビルド ディレクトリに配置されることです。

ただし、この src ディレクトリに読み取り権限と書き込み権限があるとは想定できません。つまり、これら 2 つのコマンドを 1 つに結合する必要があります (python ファイルをコンパイルし、コンパイルした python ファイルをコンパイルする代わりにビルド ディレクトリに配置します)。 src ディレクトリに移動してから移動します)

このコンパイルされたコードを配置する場所を指定するために使用できる方法があるに違いないと確信していますが、何も見つかりません。助けていただければ幸いです。:)

編集:このリンクには解決策があるかもしれません..わからない:

コンパイルされたバイトコード ファイル (.pyc) を別のディレクトリに生成できますか?

4

1 に答える 1

3

この回答を入力していて、編集したリンクを見ました。この同じ回答は、受け入れられていない回答の 1 つに示されています: https://stackoverflow.com/a/611995/496445

import py_compile
py_compile.compile('/path/to/source/code.py', cfile='/path/to/build/code.pyc')

これを基本的なシェル コマンドで呼び出すには、次のようにフォーマットします。

python -c "import py_compile; py_compile.compile('/path/to/source/code.py', cfile='/path/to/build/code.pyc')"
于 2012-09-05T19:34:01.200 に答える