Enthought Canopy不会创建.pyc文件

时间:2015-03-17 10:51:00

标签: python enthought canopy

我在Windows 7上使用Canopy版本:1.4.1(64位)。

我有两个文件A.pyB.pyA.py包含一些模块,B.py导入A.py个模块之一。当我在A.py上更改内容然后运行B.py时,应该创建一个新的已编译A.pyA.pyc),但在使用canopy IDE时则不是这样。

但重启内核后,A.py会被编译(Ctrl +。)。

有没有办法重新编译A.py而无需重新启动内核?

请帮帮我。谢谢!

3 个答案:

答案 0 :(得分:3)

这与Canopy本身无关。这就是Python的一般工作方式。加载模块后,如果更改模块,则不会重新加载/重新编译模块。如其他答案之一所示,reload可以避免这种情况。过去有过不同尝试的自动重载机制,但没有一个特别强大,导致比他们解决的问题更多的麻烦。

缓存行为将在任何Python会话中发生(Canopy,IPython前端,如笔记本,控制台等,常规python shell,服务器进程......)。

还有其他方法可以解决此问题。在IPython和Canopy中,您可以使用!python命令来执行代码,就像在shell上一样。

答案 1 :(得分:0)

在python 2上,您可以重新加载模块:

reload(A)

在python 3上,您需要导入重新加载:

from importlib import reload
reload(A)

答案 2 :(得分:0)

不确定这是否符合问题,但您也可以使用:

  

python -m compileall。

从命令行指向您的模块目录。