0

我有 python 文件,例如,名为 blah.py,我想编译然后使用 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 目录将具有读写权限,这意味着我需要做的是将这两个命令合二为一(编译 python 文件并将编译好的 python 文件放入我的构建目录,而不是编译它在 src 目录中然后移动它)

我确定一定有某种方法可以用来指定我希望将此编译代码放置在哪里,但我找不到任何方法。帮助将不胜感激!:)

编辑:此链接可能有解决方案..不确定:

编译的字节码文件(.pyc)可以在不同的目录中生成吗?

4

1 回答 1

3

我正在输入这个答案,然后查看了您编辑的链接。在未接受的答案之一中给出了相同的答案:https ://stackoverflow.com/a/611995/496445

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

要通过基本的 shell 命令调用它,您可以像这样格式化它:

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 回答