@@ -28,7 +28,8 @@ def __init__(self):
2828 self .setup_actions ()
2929 self .setup_status_bar_widgets ()
3030 self .on_current_tab_changed ()
31- self .intepreter_group = QtWidgets .QActionGroup (self .menuPython_interpreter )
31+ self .intepreter_group = QtWidgets .QActionGroup (
32+ self .menuPython_interpreter )
3233 for interpreter in get_interpreters ():
3334 a = self .menuPython_interpreter .addAction (interpreter )
3435 a .setCheckable (True )
@@ -43,8 +44,9 @@ def on_interpreter_toggled(self, action):
4344 interpreter = action .text ()
4445 for editor in self .tabWidget .widgets (include_clones = True ):
4546 editor .backend .stop ()
46- editor .backend .start (editor .backend .server_script ,
47- interpreter = interpreter , args = editor .backend .args )
47+ editor .backend .start (
48+ editor .backend .server_script ,
49+ interpreter = interpreter , args = editor .backend .args )
4850 Settings ().interpreter = interpreter
4951
5052 def setup_status_bar_widgets (self ):
@@ -74,8 +76,10 @@ def setup_actions(self):
7476 self .actionConfigure_run .triggered .connect (self .on_configure_run )
7577
7678 def _enable_run (self ):
77- self .actionRun .setEnabled (self .tabWidget .current_widget ().file .path != '' )
78- self .actionConfigure_run .setEnabled (self .tabWidget .current_widget ().file .path != '' )
79+ self .actionRun .setEnabled (
80+ self .tabWidget .current_widget ().file .path != '' )
81+ self .actionConfigure_run .setEnabled (
82+ self .tabWidget .current_widget ().file .path != '' )
7983
8084 def setup_recent_files_menu (self ):
8185 """ Setup the recent files menu and manager """
@@ -121,8 +125,10 @@ def open_file(self, path, line=None):
121125 """
122126 editor = None
123127 if path :
128+ interpreter , pyserver , args = self ._get_backend_parameters ()
124129 editor = self .tabWidget .open_document (
125- path , interpreter = Settings ().interpreter )
130+ path , None , interpreter = interpreter , server_script = pyserver ,
131+ args = args )
126132 if editor :
127133 self .setup_editor (editor )
128134 self .recent_files_manager .open_file (path )
@@ -131,13 +137,31 @@ def open_file(self, path, line=None):
131137 TextHelper (self .tabWidget .current_widget ()).goto_line (line )
132138 return editor
133139
140+ def _get_backend_parameters (self ):
141+ """
142+ Gets the pyqode backend parameters (interpreter and script).
143+ """
144+ frozen = hasattr (sys , 'frozen' )
145+ interpreter = Settings ().interpreter
146+ if frozen and interpreter == sys .executable :
147+ interpreter = None
148+ pyserver = server .__file__ if interpreter is not None else 'server.exe'
149+ args = []
150+ if interpreter and frozen :
151+ pyserver = 'server.py'
152+ args .append ('--syspath' )
153+ args .append (os .path .join (os .getcwd (), 'library.zip' ))
154+ return interpreter , pyserver , args
155+
134156 @QtCore .Slot ()
135157 def on_new (self ):
136158 """
137159 Add a new empty code editor to the tab widget
138160 """
161+ interpreter , pyserver , args = self ._get_backend_parameters ()
139162 self .setup_editor (self .tabWidget .create_new_document (
140- extension = '.py' , interpreter = Settings ().interpreter ))
163+ extension = '.py' , interpreter = interpreter , server_script = pyserver ,
164+ args = args ))
141165 self .actionRun .setDisabled (True )
142166 self .actionConfigure_run .setDisabled (True )
143167
0 commit comments