2024-04-26 12:36:20 发布
网友
我运行mint 13,并使用apt-get包管理系统安装了python 3.2。我还安装了Python2.7和3.2,pycompile似乎是打包Python2.7代码并抛出Python3.2代码异常的那个。
apt-get
我已经四处查看并尝试安装了一些包,但是还没有找到python 3.2的pycompile。如何让python 3.2的pycompile工作?
^{}是一个stdlib模块,可以生成给定Python源的字节码。很少需要。
要编译Python3源代码,必须使用附带的py_编译版本,如果从命令行使用,则不能使用Python2.7中的版本:
$ python3 -mpy_compile your_script.py
要更改pyc文件的默认存储位置,可以使用^{} function的cfile参数。
cfile
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模块共享的目录,只有帘幕用户可以编写。您可以禁用将字节码缓存到磁盘,这样就可以使用存储在只读位置的py文件,而不使用相应的pyc文件。
Why is it rarely used?
通常pyc文件是通过构建/安装过程创建的。如果没有pyc文件,则在导入模块时可以动态创建它们:
$ python -c 'import some_module'
这就是我发现的:http://effbot.org/librarybook/py-compile.htm
我能够按照上述链接中的描述启动Python3.2shell。结果是奇数目录中的.pyc文件。pyc大于.py文本文件(是否会发生这种情况?)这并不像pycompile那样令人满意—除非我找到了可能不得不忍受的问题:-(
^{} 是一个stdlib模块,可以生成给定Python源的字节码。很少需要。
要编译Python3源代码,必须使用附带的py_编译版本,如果从命令行使用,则不能使用Python2.7中的版本:
要更改pyc文件的默认存储位置,可以使用^{} function 的
cfile
参数。它可能(数量微乎其微)。Python编译器做得不多,所以它很快。
以下是字节码在人类可读形式中的外观示例:
所有的繁重工作都留给了python解释器,它在运行时解释字节码。
这些文档提供了一个用例:一个与Python模块共享的目录,只有帘幕用户可以编写。您可以禁用将字节码缓存到磁盘,这样就可以使用存储在只读位置的py文件,而不使用相应的pyc文件。
通常pyc文件是通过构建/安装过程创建的。如果没有pyc文件,则在导入模块时可以动态创建它们:
这就是我发现的:http://effbot.org/librarybook/py-compile.htm
我能够按照上述链接中的描述启动Python3.2shell。结果是奇数目录中的.pyc文件。pyc大于.py文本文件(是否会发生这种情况?)这并不像pycompile那样令人满意—除非我找到了可能不得不忍受的问题:-(
相关问题 更多 >
编程相关推荐