在 python3.7 中编译的模块与在其他 python3 子版本中编译的相同模块之间是否存在差异?
Is there a difference between a module compiled in python3.7 to the same module compiled in other python3 sub-versions?
我的问题是,在 python3.7 中编译的 python 模块与在其他 Python3 子版本中编译的相同模块之间是否存在差异?
我在没有pip 来安装模块的环境中工作,所以我必须自己编译模块。我想知道如果今天我正在用 Python3.7 编译一个模块,明天当我升级到 Python3.8 或降级到 Python3.6[=12= 时它会工作吗? ]
先谢谢了
Python(臭名昭著)实际上不是一种编译语言,而是一种解释语言。一个值得注意的警告是 Python 解释器将缓存模块 .pyc
files. Here 是对这些模块的更全面的总结。当然,如果您使用的是 py2exe、PyInstaller 或其他一些 ad-hoc 编译器,那么将包冻结为可执行文件可能会使它容易受到版本更改的影响。
一般来说,在相似的版本(例如 3.6 到 3.8)之间,对标准库的更改很小。如果您的包(或其依赖项)使用了一些已更改的功能,那么您可以预期它不再有效并且您需要更新那部分代码。 This 是比较 3.6 和 3.7 功能的变更日志,向后不兼容的变更列表很短:
- async and await are now reserved keywords.
This 是比较 3.7 和 3.8 的变更日志,它有一些更细微的差异。
我的问题是,在 python3.7 中编译的 python 模块与在其他 Python3 子版本中编译的相同模块之间是否存在差异?
我在没有pip 来安装模块的环境中工作,所以我必须自己编译模块。我想知道如果今天我正在用 Python3.7 编译一个模块,明天当我升级到 Python3.8 或降级到 Python3.6[=12= 时它会工作吗? ]
先谢谢了
Python(臭名昭著)实际上不是一种编译语言,而是一种解释语言。一个值得注意的警告是 Python 解释器将缓存模块 .pyc
files. Here 是对这些模块的更全面的总结。当然,如果您使用的是 py2exe、PyInstaller 或其他一些 ad-hoc 编译器,那么将包冻结为可执行文件可能会使它容易受到版本更改的影响。
一般来说,在相似的版本(例如 3.6 到 3.8)之间,对标准库的更改很小。如果您的包(或其依赖项)使用了一些已更改的功能,那么您可以预期它不再有效并且您需要更新那部分代码。 This 是比较 3.6 和 3.7 功能的变更日志,向后不兼容的变更列表很短:
- async and await are now reserved keywords.
This 是比较 3.7 和 3.8 的变更日志,它有一些更细微的差异。