gpt4 book ai didi

python - 在 emacs python shell 中重新加载更改的 python 文件

转载 作者:太空狗 更新时间:2023-10-29 21:17:04 25 4
gpt4 key购买 nike

在 emacs Python shell(我正在运行 2.* Python)中,我正在导入一个我正在使用的 .py 文件并测试代码。但是,如果我更改代码,我不确定如何再次导入它。

从我目前的阅读看来

reload(modulename)

应该可以,但似乎不行。

也许只是关闭 python shell 并重新启动它就足够了,是否有相应的命令,或者您只是手动执行?

编辑:看起来 python-send-defun 和 python-send-buffer 是理想的,但更改似乎没有传播。

最佳答案

虽然 reload() 确实有效,但它不会更改对类、函数和其他对象的引用,因此很容易看到旧版本。最一致的解决方案是将 reload() 替换为 exec(这意味着首先不使用 import)或完全重新启动解释器.

如果您确实想继续使用 reload,请务必注意如何从该模块引用内容,并始终使用全名。例如。 import module 并使用 module.name 而不是 from module import name。而且,即使很小心,您仍然会遇到旧对象的问题,这就是 reload() 不在 3.x 中的原因之一。

关于python - 在 emacs python shell 中重新加载更改的 python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816388/

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