如何通过脚本/快捷方式启动Python Spyder会话?

时间:2016-12-25 06:04:27

标签: python-2.7 ipython spyder

我有这个代码在Anaconda 2,Python 2.7中启动Spyder IDE:

from spyderlib import start_app
main1= start_app.main()
main1.load_session('/project27/_test01_.session.tar')

'''
from spyderlib.utils.iofuncs import load_session
load_session(filename+'.session.tar')
'''

加载会话的代码方法在这里:https://github.com/jromang/spyderlib/blob/master/spyderlib/spyder.py

    #---- Sessions
    def load_session(self, filename=None):
        """Load session"""
        if filename is None:
            self.redirect_internalshell_stdio(False)
            filename, _selfilter = getopenfilename(self, _("Open session"),
                        getcwd(), _("Spyder sessions")+" (*.session.tar)")
            self.redirect_internalshell_stdio(True)
            if not filename:
                return
        if self.close():
            self.next_session_name = filename

第一部分来自Anaconda Scripts Spyder脚本。 似乎无法加载会话。

2 个答案:

答案 0 :(得分:1)

在Spyder 3.0中删除了Spyder会话。现在,Projects提供了相同的功能(它还保存了编辑器中打开文件的列表),所以请更新到该版本。

此外,Spyder 3.1将带有一个名为--project的新选项,用于在启动时加载项目(Spyder 3.1将于2017年1月17日发布)。

答案 1 :(得分:-1)

对于仍然只使用Spyder 2.0(....)的人来说,有一个小的黑客可以创建会话的快捷方式(直接用快捷方式启动SPyder会话)。 这里,代码:

# -*- coding: utf-8 -*-
import sys, time, os
file_session= ''
if len(sys.argv) > 1 : 
  file_session= sys.argv[1]
  print file_session

sys.argv= sys.argv[:1]


from spyderlib import start_app
if file_session != '' :
  main1= start_app.main( file_session)
else :
  main1= start_app.main()