【发布时间】:2014-10-21 12:47:13
【问题描述】:
Canopy 代码编辑器在未定义的变量下划线。但是,一旦通过从当前脚本运行另一个 python 脚本将变量加载到命名空间,即使这样的变量存在并且可以使用,它仍然会突出显示错误。
有没有办法让它也看到加载的变量?
谢谢。
【问题讨论】:
Canopy 代码编辑器在未定义的变量下划线。但是,一旦通过从当前脚本运行另一个 python 脚本将变量加载到命名空间,即使这样的变量存在并且可以使用,它仍然会突出显示错误。
有没有办法让它也看到加载的变量?
谢谢。
【问题讨论】:
不,不存在,也不应该存在,因为脚本运行时,它无法访问这些变量。
更多信息请见https://stackoverflow.com/a/26413862/1988991
您可以通过使用 Run magic 的 -i 选项在 ipython shell 命名空间中运行脚本,但这不是正常用法,对于测试将要运行的脚本也没有用处独立。
【讨论】:
execfile("test.py"),则可以在 test.py 中使用 ipython 命名空间。如果您在运行脚本中执行文件,则不能在 test.py 中使用 ipython 命名空间,正如您所指出的那样。见docs.python.org/2/library/functions.html#execfile。底线:当您 %run 一个脚本时,它或它使用的任何东西都不能使用普通方式访问 ipython 命名空间。顺便说一句,仅供参考:meta.stackexchange.com/questions/5234/…