子进程从装有PyInstaller的应用程序继承sys.path

问题描述 投票:0回答:1

我有一个用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并执行相同的输出,则如下所示:

['', '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']

从.exe取消后,如何使用sysytem解释器?

python subprocess pyinstaller sys sys.path
1个回答
0
投票

我没有找到修复程序,但发现它在python 3中不会发生

© www.soinside.com 2019 - 2024. All rights reserved.