我有个奇怪的问题:
当我执行此操作时:
print(os.environ)
在python.exe,我看到一件事,无所事事(pythonw.exe)另一个,为什么?在
可能这是某种缓存还是什么?在
PS我的系统:Windows 7 x64和Python 3.5.1 x32
为什么你把它标为重复,我找不到这类问题的答案。我读到关于python.exe以及pythonw.exe,但我不明白为什么路径变量是不同的。在
以下是差异:
在python.exe公司名称:
C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Bluetooth Software\;C:\Program Files\Lenovo\Bluetooth Software\syswow64;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Git\cmd;C:\Program Files (x86)\nodejs\;C:\Users\someusername\AppData\Local\Programs\ Python\Python35-32\Scripts\;C:\Users\someusername\AppData\Local\Programs\Python\Python35-32\;C:\Program Files (x86)\nodejs\;C:\Users\someusername\AppData\Roaming\npm
在pythonw.exe公司名称:
C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Bluetooth Software\;C:\Program Files\Lenovo\Bluetooth Software\syswow64;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Git\cmd;C:\Users\someusername\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\someusername\AppData\Local\Programs\Python\Python35-32\
你看到nodejs路径了吗python.exe结果,而不是pythonw.exe?我删除了所有的pyc文件,但没有帮助
PATH
环境变量的值与difference between python.exe and pythonw.exe几乎没有关系。关于路径或环境变量,您需要了解的是,它们通常是从调用进程继承的。在因此,当您从命令行调用
python.exe
时,该进程将继承命令行所拥有的PATH值。如果使用某种快捷方式打开IDLE,那么它将从Windows继承值。在每一个过程都可以随心所欲地处理环境变量,因此会影响它们启动的过程。例如:
就像这样,我创建了一个新的环境变量
FOO
,它被自动传递给我正在启动的进程(python3),它可以在那里访问它。在这同样适用于
PATH
环境变量。如果您看到了差异,可能不是因为您的可执行文件不同,而是因为调用进程可能以不同的方式影响了它。在相关问题 更多 >
编程相关推荐