我正在使用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
文件#! Python3
,则双击会在子目录中生成.pyc
文件。我理解这是因为Python2和Python3决定管理字节编译代码的方式不同。
我目前专注于Python3,并希望仅在子目录中创建文件。
我尝试编辑path
变量以在Python 2之前放置Python3,以便调用Python3而不是Python2。即使在更改它之后,当我双击未发生的Python脚本并且在同一目录中创建了字节编译的代码时。
因此Python2用于双击运行Python脚本。导致此行为的原因是如何在不卸载Python2的情况下确保调用Python3而不是Python2?
答案 0 :(得分:9)
Python 3改变了字节码(.pyc
)文件的存储方式。 Python 2使用将它们放在同一目录中的约定,但对于Python 3,开发人员决定通过将它们全部放在一个单独的目录中来减少混乱。这也使CPython以外的Python实现更容易支持,因为每个实现都可以在.pyc
目录中拥有自己的__pycache__
文件,而不是覆盖其他实现中的文件。