由于某种原因,我的 Python IDE spyder 不再工作。尝试启动它时,它没有打开。~$ spyder
在控制台中尝试时出现以下错误:
Traceback (most recent call last):
File "/usr/bin/spyder", line 2, in <module>
from spyderlib import start_app
File "/usr/lib/python2.7/dist-packages/spyderlib/start_app.py", line 13, in <module>
from spyderlib.config import CONF
File "/usr/lib/python2.7/dist-packages/spyderlib/config.py", line 433, in <module>
subfolder=SUBFOLDER, backup=True, raw_mode=True)
File "/usr/lib/python2.7/dist-packages/spyderlib/userconfig.py", line 111, in __init__
self.load_from_ini()
File "/usr/lib/python2.7/dist-packages/spyderlib/userconfig.py", line 150, in load_from_ini
self.read(self.filename())
File "/usr/lib/python2.7/ConfigParser.py", line 305, in read
self._read(fp, filename)
File "/usr/lib/python2.7/ConfigParser.py", line 546, in _read
raise e
ConfigParser.ParsingError: File contains parsing errors: /home/rk/.spyder2/.spyder.ini
[line 317]: 'shor'
我尝试过,sudo apt-get install --reinstall spyder
但sudo apt-get purge spyder && sudo apt-get install spyder
也没有用。我也没有在网上找到解决问题的方法。
谁能告诉我出了什么问题?
答案1
我遇到了一个相关的问题。Spyder(版本 2.2.5)崩溃了。我尝试在重启电脑后重新打开它,但什么也没发生——点击启动器中的符号没有任何反应,也只是输入
spyder
在命令行中输入
spyder --new-instance
导致 GUI 被启动。查看文件
start_app.py
在目录中
/usr/lib/python2.7/dist-packages/spyderlib/
很明显,以下几行代码就是问题所在:
if CONF.get('main', 'single_instance') and not options.new_instance \
and not mac_app:
# Minimal delay (0.1-0.2 secs) to avoid that several
# instances started at the same time step in their
# own foots while trying to create the lock file
time.sleep(random.randrange(1000, 2000, 90)/10000.)
# Lock file creation
lockf = get_conf_path('spyder.lock')
lock = lockfile.FilesystemLock(lockf)
# lock.lock() tries to lock spyder.lock. If it fails,
# it returns False and so we try to start the client
if not lock.lock():
if args:
send_args_to_spyder(args)
else:
atexit.register(lock.unlock)
from spyderlib import spyder
spyder.main()
else:
from spyderlib import spyder
spyder.main()
因此,spyder 的某个实例先前已创建,并已创建该文件
spyder.lock
这导致命令给出的参数列表为空
spyder
被传递给 spyder,导致不执行任何操作:
send_args_to_spyder(args)
因此,只需使用应用程序启动器或终端重命名 spyder.lock 文件即可让 spyder 再次启动。
答案2
解决了问题(某种程度上):
看看sudo gedit /home/USERNAME/.spyder2/.spyder.ini
这个文件,它基本上包含你本地的 spyder 首选项/设置。如果你知道错误的行应该说什么,你可以简单地更改它们。
因为我没有,所以我直接删除了整个 .spyder2 文件夹。然后当我删除时,它又重新创建了sudo apt-get purge spyder && sudo apt-get install spyder
。
简单地执行sudo apt-get purge spyder
或sudo apt-get install --reinstall spyder
不会起作用,因为它不会影响您的个人配置文件。您必须手动修复或删除 .spyder.ini。
答案3
我遇到了同样的问题。当我尝试从终端打开 Spyder 时,收到以下错误消息:
ConfigParser.ParsingError: File contains parsing errors: /home/.spyder2/spyder.ini
[line 55]: 'font/italic'
我的解决方案:
使用以下方式打开 spyder.ini 文件
nano /home/.spyder2/spyder.ini
然后删除 [line 55]: 'font/italic'
保存文件
完成!我可以打开 Spyder 了。
答案4
就我而言,我没有收到任何错误消息。简单而悄无声息的是,无论我使用命令行还是桌面菜单,Spyder 2.2.5 都无法启动。
该命令l ~/.spyder2
显示一个悬空的(红色)符号链接spyder.lock@
。
删除此文件后,Spyder 便可按预期启动。