Вероятно, это звучит глупо, но я не могу получить доступ к python из cmd, если рабочий каталог не находится на диске c:. В конечном итоге я хочу запустить скрипт в сетевой папке (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 ответ1

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: только, поскольку это единственный диск, содержащий этот каталог.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .