我收到错误:在Spyder (Python 2.7)中没有定义名称'runfile‘,尽管我更改了保存脚本的工作目录。我只是在命令行中运行代码,但我想在Spyder中运行它。我该怎么解决它呢?
谢谢。
发布于 2016-07-08 04:29:16
可能有多种因素导致了这种情况。我遇到了这个问题,导致我这个问题的原因是sitecustomize的问题。在搜索了一个解决方案(在这里搜索的详细信息:Spyder 'runfile' is not defined)之后,我基本上需要进入命令提示符(在Windows中是cmd)并键入:
spyder --reset
spyder --default
发布于 2016-09-22 02:09:21
问题的原因是spyder (在我的例子中是3.0.0b7)无法加载以下文件(路径是OSX路径)
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spyder/widgets/externalshell/sitecustomize.py
因此,当上面的文件加载失败时,sitecustomize.py中的以下函数"runfile“也无法加载。
def runfile(filename, args=None, wdir=None, namespace=None, post_mortem=False):
"""
Run filename
args: command line arguments (string)
wdir: working directory
post_mortem: boolean, whether to enter post-mortem mode on error
"""
try:
filename = filename.decode('utf-8')
except (UnicodeError, TypeError, AttributeError):
# UnicodeError, TypeError --> eventually raised in Python 2
# AttributeError --> systematically raised in Python 3
.
.
.
因此,python没有找到在spyder IDE中运行.py文件所需的函数runfile,并输出"NameError: name 'runfile‘is not defined"
我修复方法是将路径添加到PYTHONPATH管理器中,如下所示
我的spyder安装是一个独立的安装,不是Anaconda包的一部分,因为我不想在安装2.x和3.x python的基础上再安装一个python。也许,这就是为什么spyder --reset和spyder --default将它们设置回默认值对我不起作用。
发布于 2017-07-28 00:23:37
在我的Windows机器上的Anaconda环境中,我必须运行
conda update setuptools
从命令行,按照https://github.com/spyder-ide/spyder/issues/2812。这似乎帮我把事情搞清楚了。
https://stackoverflow.com/questions/34846953
复制相似问题