首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不创建.pyc文件

不创建.pyc文件
EN

Stack Overflow用户
提问于 2015-03-17 10:50:59
回答 3查看 396关注 0票数 0

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

我有两个文件A.pyB.pyA.py包含了一些模块,B.py导入了A.py的一个模块。当我在A.py上更改某些内容,然后运行B.py时,应该创建一个新的编译A.py (A.pyc),但在使用冠层集成开发环境时并非如此。

但是,A.py在重新启动内核(Ctrl+.)后确实会被编译。

是否有一种无需重新启动内核就可以重新编译A.py的方法?

请帮帮我。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-17 11:45:03

这与冠层本身没有任何关系。这就是Python一般的工作方式。加载模块后,如果更改模块,则不会重新加载/重新编译该模块。使用reload可以避免这一点,就像其他答案中所建议的那样。在过去有不同的尝试,有自动重新加载机制,但没有一个是特别强大,造成更多的麻烦,他们解决的。

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

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

票数 3
EN

Stack Overflow用户

发布于 2015-03-17 10:56:52

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

代码语言:javascript
复制
reload(A)

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

代码语言:javascript
复制
from importlib import reload
reload(A)
票数 0
EN

Stack Overflow用户

发布于 2015-03-17 11:27:42

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

python编译所有。

从命令行指向模块dir。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29097191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档