gpt4 book ai didi

python - pycompile for python3.2

转载 作者:行者123 更新时间:2023-11-28 22:01:27 27 4
gpt4 key购买 nike

我正在运行 mint 13 并使用 apt-get 包管理系统安装了 python 3.2。我还安装了 python 2.7 和 3.2。pycompile 似乎是打包 python 2.7 代码并为 python 3.2 代码抛出异常的编译器。

我环顾四周并尝试安装一些软件包,但一直没能找到适用于 python 3.2 的 pycompile。如何让 pycompile 为 python 3.2 工作?

最佳答案

py_compile是一个 stdlib 模块,可以在给定 Python 源代码的情况下生成字节码。 很少需要它。

要编译 Python 3 源代码,您必须使用它附带的 py_compile 版本,如果您从命令行使用它,则不能使用 Python 2.7 的版本:

$ python3 -mpy_compile your_script.py

要更改存储 pyc 文件的默认位置,您可以使用 py_compile.compile() functioncfile 参数.

Does the byte code make the script run any faster?

它可能(微量)。 Python 编译器做的不多,所以速度很快。

这是一个字节码在人类可读形式下的样子的例子:

>>> def f(o):
... with o:
... pass
...
>>> import dis
>>> dis.dis(f)
2 0 LOAD_FAST 0 (o)
3 SETUP_WITH 5 (to 11)
6 POP_TOP

3 7 POP_BLOCK
8 LOAD_CONST 0 (None)
>> 11 WITH_CLEANUP
12 END_FINALLY
13 LOAD_CONST 0 (None)
16 RETURN_VALUE

所有繁重的工作都留给了在运行时解释字节码的 python 解释器。

Or is this only for distribution?

文档提供了一个用例:一个包含 Python 模块的共享目录,只有 curtain 用户可以在其中写入。您可以禁用将字节码缓存到磁盘,这样就可以使用存储在只读位置的 py 文件,而无需相应的 pyc 文件。

Why is it rarely used?

通常 pyc 文件是由构建/安装过程创建的。如果没有 pyc 文件,它们可以在您导入模块时即时创建:

$ python -c 'import some_module'

关于python - pycompile for python3.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004034/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com