Подпроцесс наследует sys.path от приложения, упакованного PyInstaller - PullRequest
0 голосов
/ 19 марта 2020

У меня есть органайзер инструментов, написанный на python, который открывает другие приложения, используя подпроцесс. Эти приложения могут выполнять сценарии, написанные на python. Проблема заключается в том, что когда я упаковываю органайзер с помощью PyInstaller и запускаю его, всякий раз, когда приложения, на которые он опирается, запускают python сценарии, они используют python, упакованный внутри органайзера.

Самый простой пример: я открываю cmd через органайзер и напишите это:

>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\Users\\myuser\\AppData\\Local\\Temp\\_MEI156362\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\Python27\\lib\\site-packages\\wx-3.0-msw']

Если я открою cmd regulary и сделаю то же самое, вывод будет таким:

['', 'C:\\WINDOWS\\SYSTEM32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\Python27\\lib\\site-packages\\wx-3.0-msw']

Как я могу заставить его использовать интерпретатор sysytem, ​​если он отличается от .exe

...