【问题标题】:Compile python code then place it somewhere else编译python代码然后把它放在别的地方
【发布时间】:2012-09-05 19:16:45
【问题描述】:

我有 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 目录中编译然后移动它)

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

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

Can compiled bytecode files (.pyc) get generated in different directory?

【问题讨论】:

标签: python compilation cmake


【解决方案1】:

我正在输入这个答案,然后查看了您编辑的链接。在未接受的答案之一中给出了相同的答案: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')"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 2017-05-17
    • 2011-03-29
    • 2012-09-04
    • 2022-09-28
    相关资源
    最近更新 更多