gpt4 book ai didi

python - 为什么 .pyc 文件有时在同一目录中创建,有时在 __pycache__ 子目录中创建?

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:56 25 4
gpt4 key购买 nike

我使用的是 Windows 7,并且安装了 Python 2.7.5 和 3.3.2。我的 path 环境变量设置为

C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\python27;C:\Python33\Scripts

当我将任何 Python 模块导入另一个模块时,会创建一个 .pyc 文件。它创建的地方取决于是调用Python2还是Python3来运行它。

  • 当我双击模块时,在同一目录中创建了 .pyc 文件
  • 当我通过 IDLE 进行编辑然后运行它时,文件会在子目录中创建。
  • 如果我添加#! Python3在最上面然后双击在子目录下生成.pyc文件。

我理解这是因为 Python2 和 Python3 决定管理字节编译代码的方式不同。

我目前专注于 Python3,并希望仅在子目录中创建文件。

我尝试编辑 path 变量以将 Python3 放在 Python 2 之前,这样应该调用 Python3 而不是 Python2。即使在我双击未发生的 Python 脚本并在同一目录中创建字节编译代码时更改它。

因此,Python2 用于在双击时运行 Python 脚本。是什么导致了这种行为?如何确保在不卸载 Python2 的情况下调用 Python3 而不是 Python2?

最佳答案

Python 3 改变了字节码 (.pyc) 文件的存储方式。 Python 2 使用将它们放在同一目录中的约定,但对于 Python 3,开发人员决定通过将它们全部放在一个单独的目录中来减少困惑。这也使得对 CPython 以外的 Python 实现的支持更容易,因为每个实现都可以在 __pycache__ 目录中拥有自己的 .pyc 文件,而不是覆盖其他实现的文件。

关于python - 为什么 .pyc 文件有时在同一目录中创建,有时在 __pycache__ 子目录中创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18426739/

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