6

У меня есть несколько версий Python, установленных на компьютере с Windows 7.

Я хочу запустить Python 2.7 по умолчанию, но по какой-то причине при вводе python в командной строке запускается Python версии 2.4.5. Я попытался добавить C:\Python27 к моей системной переменной пути согласно этому вопросу, и вручную прочесал мою переменную пути, чтобы убедиться, что Python 2.4.5 не был добавлен туда по ошибке, но это не решило проблему , Я должен вводить в C:\Python27\python.exe каждый раз, когда я хочу получить доступ к нужной версии Python, который я хочу.

Какие еще места я могу проверить? Как я могу заставить командную строку использовать правильную версию python?

Я тоже нашел это, но это не для окон.

[РЕДАКТИРОВАТЬ]
Мой путь (разделенный точкой с запятой):

C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Dell\DW WLAN Card\Driver;
C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;
C:\Program Files (x86)\Windows Live\Shared;
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
C:\Program Files\TortoiseGit\bin;
C:\Program Files\Java\jdk1.6.0_26\bin;
C:\Program Files\Java\jdk1.6.0_21 ;
C:\Program Files\IVI Foundation\VISA\Win64\Bin\;
C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;
C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;
C:\Program Files\WPIJavaCV\OpenCV_2.2.0\bin;
C:\Program Files (x86)\LilyPond\usr\bin;
C:\Program Files\TortoiseSVN\bin;
C:\Program Files (x86)\doxygen\bin;
C:\Program Files (x86)\Graphviz 2.28\bin;
C:\Users\Michael\bin\Misc\cppcheck\;
C:\Program Files (x86)\Git\cmd;
C:\Python27\python.exe;
C:\Ruby192\bin;
C:\Users\Michael\AppData\Roaming\cabal\bin;
C:\Python27\; 

[РЕДАКТИРОВАТЬ 2]
Запуск python извергает это:

'import site' failed; used -v for traceback
Python 2.4.5 (#1, Jul 22 2011, 02:01:04)
[GCC 4.1.1] on mingw32
Type "help", "copyright", "credits" or "license" for more information.
>>> 

... и запуск python --version (как предлагается ниже) кажется нераспознанным вариантом.

(Я также попытался запустить python -v , и похоже, что Python 2.4 пытается импортировать библиотеки из C:\Python27\Lib , и потерпел неудачу из-за синтаксической ошибки при обнаружении оператора with , который был добавлен в более поздней версии. считать)

Кроме того, я не уверен, важно это или нет, но вышеприведенная версия python говорит что-то о GCC и mingw32, а запуск C:\python27\python.exe показывает это:

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>> 

3 ответа3

5

Вам необходимо обновить расширение .py в редакторе реестра. Найдите расширение «.py» и посмотрите, на что указывает ключ (по умолчанию). Это, вероятно, в:

HKEY_CLASSES_ROOT/.py/(Default)

"Данные" этого ключа, вероятно, "Python".Файл »(см. Скриншот ниже).

Используйте это тоже, ищите второй ключ:

HKEY_CLASSES_ROOT/<previous_keys_data>/shell/open/command/@default
e.g.
HKEY_CLASSES_ROOT/Python.File/shell/open/command/@default

Ключ (по умолчанию) содержит путь к интерпретатору Python, который будет использоваться. Обновите его по мере необходимости, чтобы указать на тот, который вы хотите использовать. (см. скриншот)

Фон

Интерпретатор Python, выбранный в командной строке, использует переменную среды PATH только в том случае, если вы фактически указываете исполняемый файл python. т.е.

python myProgram.py

Без фактического включения "python" командная оболочка попытается найти программу для открытия файлов .py (первый ключ выше).

Затем он использует эту клавишу для поиска подходящей программы (вторая клавиша).

Как сказал @efotinis, вы можете определить используемый интерпретатор, используя простую программу:

import sys
print sys.executable

Попробуйте выполнить это, выполнив оба следующих действия, чтобы увидеть разницу между использованием PATH для поиска указанного исполняемого файла и использованием интерпретатора команд для поиска программы для открытия указанного вами файла .py.

python myProgram.py
myProgram.py
2

Пока вы находитесь в сеансе Python 2.4.5, используйте это, чтобы найти Python.exe, который будет выбран:

import sys
print sys.executable

Если вы хотите играть с несколькими версиями, вы не можете полагаться на% PATH%. Вместо этого вы можете создать отдельные пакетные файлы, которые будут вызывать нужную вам версию (хотя убедитесь, что сами пакетные файлы находятся в переменной PATH). Например, для 2.7.2 вы можете создать PY27.НДТ, которая просто содержит:

@C:\Python27\Python.exe $*
0

Публиковать, потому что эта тема получает лучшие результаты, и я не вижу этого ответа. Это простое решение - то, что сработало для меня в Windows 7. Вам нужно взглянуть на ваши системные переменные для переменной Path. 1 echo %PATH% , похоже, не печатает их по порядку, поэтому используйте их для просмотра и редактирования:

Проверьте системные переменные, щелкнув правой кнопкой мыши Мой компьютер в меню Windows ‣ Свойства ‣ Дополнительные параметры системы ‣ вкладка «Дополнительно» button кнопка «Переменные среды» ‣ в разделе «Системные переменные» выберите «Путь» button кнопку «Изменить»

Это вызовет окно для редактирования Path . Если у вас установлено несколько версий python, убедитесь, что та, которую вы хотите использовать по умолчанию, будет первой в списке. Например, если вы хотите, чтобы Python 2.7 был значением по умолчанию, он должен быть указан перед другими версиями.

Мой выглядит так:C:\Python27\;C:\Program Files (x86)\Python35-32\;

Чтобы убедиться, что это работает, перезагрузите компьютер и откройте командную строку. Затем запустите python -V

Теперь он выводит Python 2.7.11 и запускает скрипты, которые просто полагаются на команду python которые используют эту версию.

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