1
0
mirror of https://github.com/ciromattia/kcc synced 2026-01-03 03:49:36 +00:00

Miscellaneous tweaks

This commit is contained in:
Paweł Jastrzębski
2015-10-28 16:51:02 +01:00
parent f25c25a121
commit 1152655061
2 changed files with 26 additions and 6 deletions

19
kcc.py
View File

@@ -23,7 +23,7 @@ if sys.version_info[0] != 3:
print('ERROR: This is Python 3 script!')
exit(1)
# OS specific PATH variable workarounds
# OS specific workarounds
import os
if sys.platform.startswith('darwin'):
if getattr(sys, 'frozen', False):
@@ -34,6 +34,23 @@ if sys.platform.startswith('darwin'):
else:
os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + '/other/osx/:' + os.environ['PATH']
elif sys.platform.startswith('win'):
import multiprocessing.popen_spawn_win32 as forking
class _Popen(forking.Popen):
def __init__(self, *args, **kw):
if hasattr(sys, 'frozen'):
# noinspection PyProtectedMember
os.putenv('_MEIPASS2', sys._MEIPASS)
try:
super(_Popen, self).__init__(*args, **kw)
finally:
if hasattr(sys, 'frozen'):
if hasattr(os, 'unsetenv'):
os.unsetenv('_MEIPASS2')
else:
os.putenv('_MEIPASS2', '')
forking.Popen = _Popen
if getattr(sys, 'frozen', False):
os.chdir(os.path.dirname(os.path.abspath(sys.executable)))
else: