除非在 c: 驱动器上,否则无法从 cmd 访问 Python

除非在 c: 驱动器上,否则无法从 cmd 访问 Python

这个问题听起来可能有点愚蠢,但除非工作目录位于 c: 驱动器上,否则我似乎无法从 cmd 访问 python。最终,我想在网络文件夹 (z:) 上运行脚本,但 python 甚至无法从我的辅助内部驱动器 (d:) 执行

示例 cmd 窗口文本:

Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\usrname>python
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\Users\usrname>z:

Z:\>python
'python' is not recognized as an internal or external command,
operable program or batch file.

Z:\>d:

D:\>python
'python' is not recognized as an internal or external command,
operable program or batch file.

D:\>

调用其他程序(如 pip)以及 cygwin 中的许多命令(将 cygwin/bin 添加到 %path%)都可以正常工作,但 Python 仍然很顽固。有人能向我解释为什么会发生这种情况吗?

编辑:这是我的%path%

C:\Users\usrname\Downloads>echo %PATH%
C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\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\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\cygwin64\bin;C;\Python27\WinPython-32bit-2.7.10.2\python-2.7.10;C:\Python27;C:\Python27\WinPython-32bit-2.7.10.2\python-2.7.10\Scripts;C:\Program Files (x86)\CMake\bin

答案1

如果您确实添加了cygwin/bin路径,那么这就是它不起作用的原因。

这是一个相对路径,它只能从该文件夹所在的驱动器的根目录(即)开始C:起作用C:\cygwin\bin

否则,当打开时D:,Windows 将搜索D:\cygwin\bin并高兴地报告它不在那里。同样适用于C:\Users\usrname您声称所在的位置,然后C:\Users\usrname\cygwin/bin将被搜索。

因此,我假设您/cygwin/bin在路径中添加了斜杠(反斜杠)。只要您在驱动器上,它就会起作用,无论您当前的目录是什么C:

您需要添加的绝对路径%path%,包括驱动器号。

根据您的编辑,您的 python 路径中有一个拼写错误:

C;\Python27\WinPython-32bit-2.7.10.2\python-2.7.10

分号应为冒号。请注意,这确实验证了上述语句:此路径条目意味着您有两个路径条目:C\Python27\WinPython-32bit-2.7.10.2\python-2.7.10,后者使其仅从驱动器运行C:,因为这是唯一包含该目录的驱动器。

相关内容