Python 为什么.pyc文件有时创建在同一个目录中,有时创建在_pycache__;子目录中?
我使用的是Windows7,同时安装了Python 2.7.5和3.3.2。我的Python 为什么.pyc文件有时创建在同一个目录中,有时创建在_pycache__;子目录中?,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我使用的是Windows7,同时安装了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文件
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
path
变量,将Python3放在Python2之前,以便调用Python3而不是Python2。即使在我双击Python脚本时更改了它,但这并没有发生,字节编译代码是在同一目录中创建的
因此,Python2被用来在双击时运行Python脚本。是什么导致了这种行为?我如何确保在不卸载Python2的情况下调用Python3而不是Python2?Python3已更改字节码(
.pyc
)文件的存储方式。Python2使用将它们放在同一目录中的约定,但是对于Python3,开发人员决定将它们全部放在一个单独的目录中,以减少混乱。这也使得对Python以外的Python实现的支持更加容易,因为每个实现都可以在\uuuu pycache\uuuuu
目录中有自己的.pyc
文件,而不是覆盖其他实现中的文件。那么,在我的情况下,为什么双击会在同一目录中生成编译文件,除非我使用的是#!python3
在顶部?@AshwiniChaudhary,但其中一个声明是我可以在Windows上使用shebang。我还在comp.lang.python上问过这个问题,那里的人告诉我我可以使用它。@asembansal你安装了吗?@AshwiniChaudhary没有。我已经为Python2.7和Python3.3安装了标准Python。具体来说,更改是在Python3.2中,而不是在整个Python3中。