操作系统和子进程在Windows10Anym上找不到二进制文件

2024-09-30 12:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我目前最好的猜测是,我已经严重地破坏了python环境,我不知道如何。

首先,我尝试卸载和重新安装(实际上从2.7.14升级到.15)python,但没有任何效果。问题依然存在。

问题描述尽我所知:

我试图从Python 2.7.15调用Windows本机二进制文件(displayswitch.exe,已验证存在于C:\Windows\System32\)。注意:我没有错过双斜杠,堆栈溢出正因为某种原因而带走了后面的斜杠。可能是转义序列。

有一次,这一切都很顺利,这让我相信我搞砸了什么。到目前为止,我可以调用displayswitch,任何其他本地命令都可以从windows命令提示符中正常运行,但运行的命令与操作系统, 子流程调用给我错误“displayswitch未识别为内部或外部命令”,“WindowsError:系统找不到指定的文件”,分别。

以下是我正在运行的内容的片段,这些片段是出于理智的原因从命令行复制的:

(dos)

displayswitch.exe --> runs fine

(python解释器)

^{pr2}$

(python解释器)

^{pr3}$

我的第一本能是我把路径变量搞砸了(这又是一个长镜头,因为我没有用30英尺的杆子碰过),但是如果我打印出来os.environ[“PATH”],C:\Windows\System32的路径在其中(我将其拆分为分号,以便更容易查看):

^{pr4}$

但是,嘿,在消除中间人的本质上,我继续尝试调用可执行文件的完整路径(即C:\Windows\System32\displayswitch.exe)同样的结果(我也尝试过区分大小写的DisplaySwitch.exe万一那很重要,那就没有了。

我三年来从来没有遇到过这样的问题,我甚至都在为什么而感到茫然。我甚至尝试重新启动我的电脑,它的工作和预期一样多。

其他有关我的环境以及可能是什么原因导致的信息: 使用PyCharm 2018.2.2 IDE,该IDE为项目创建并使用VirtualV。

对于我在第一次出现这个问题时一直在研究的一个侧面项目,我最初使用的是带有烧瓶、Piggio和pyaudio的python 3.6.6(在树莓pi上运行此项),但当我遇到mod wsgi的路障并为没有任何一个的python3.6安装它时,我将所有内容切换到python2.7。

在PyCharm中,我将它配置为既使用本地解释器,也使用远程解释器,所有这些都能完美地工作。问题操作系统发生在我从3.6改为2.7的某个时候,但我不能直接证明这是不是确切的根本原因。我用2.7制作了一个新的Virtualev,并从我的项目中删除了使用3.6的旧VirtualV。

我在这个问题上做了一些中级的搜索,但是90%的结果是那些命令类型错误的人,或者他们被指示使用子流程来避免参数传递等问题。但是,当我尝试过这两个命令,同样的命令在命令提示符下工作时,我已经确信这不是我的打字技巧。

编辑:只是想再次使用python3.6来尝试,这很好,我更困惑。如果这是2.7的特定问题,我会认为重新安装将修复它。


Tags: 文件项目命令路径内容环境windows错误
1条回答
网友
1楼 · 发布于 2024-09-30 12:26:08

问题是32位python和64位python,我想我知道是什么破坏了它,因为当我重新安装时,我同时安装了32位和64位python。我卸载了32位版本的OS2.7.15,安装了64位版本,现在可以工作了。感谢Alex K指出了重定向,并为这个愚蠢的问题道歉!在

相关问题 更多 >

    热门问题