我有以下Python代码。
subprocess.Popen( launchExeFile,
creationflags = win32process.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP,
close_fds = True, shell = True, cwd = workingDir )
但我发现,创建的进程将继承一些C ++运行时DLL;具体来说,VSRUNTIME140.dll和MSVCP140.dll,以及其他可能。如何阻止生成的进程继承这些DLL?我希望生成的进程加载可以在windows / system32文件夹中找到的那些DLL的版本。那有意义吗?感谢。
我需要补充一点,python进程与其自己的本地版本的DLL打包在一起,因为我正在使用PyInstaller.exe。我现在的解决方法是删除PyInstaller包含的那些DLL;也许那是现在最好的事情。它确实意味着需要在任何想要运行python程序的主机上安装C ++可再发行组件。