擅长:python、mysql、java
<p>我敢打赌Python在64位Windows上以32位进程的形式运行。在本例中,您将最终运行32位PowerShell,这在实践中是一件坏事,因为许多PowerShell模块依赖于本机二进制文件,而本机二进制文件可能没有32位等价物。我用IIS管理器commandlets实现了这一点——commandlet本身注册在32位PowerShell中,但它们所依赖的底层COM对象没有注册。在</p>
<p>如果需要从32位进程运行64位PowerShell,请将路径指定为%SystemRoot%\SysNative\WindowsPowerShell\v1.0\PowerShell.exe而不是System32。在</p>
<p>System32实际上是针对32位进程虚拟化的,它引用了%SystemRoot%\SysWow64中的32位二进制文件。这就是为什么您的路径(和PSMODULEPATH)看起来相同,但不是(SysNative也是一个虚拟化路径,只存在于虚拟化的32位进程中)</p>