Я могу установить Python 3.x и 2.x на том же компьютере Windows?

145
задан alex 4 May 2018 в 14:39
поделиться

9 ответов

Я принял бы так, мне установили Python 2.4, 2.5 и 2.6 бок о бок на том же компьютере.

0
ответ дан 23 November 2019 в 22:49
поделиться

Я использую 2.5, 2.6, и 3.0 от оболочки со сценариями пакетной обработки строки формы:

:: The @ symbol at the start turns off the prompt from displaying the command.
:: The % represents an argument, while the * means all of them.
@c:\programs\pythonX.Y\python.exe %*

Называют их pythonX.Y.bat и помещают их где-нибудь в Ваш ПУТЬ. Скопируйте файл для предпочтительной вспомогательной версии (т.е. последнее) к pythonX.bat. (Например, copy python2.6.bat python2.bat.) Затем можно использовать python2 file.py отовсюду.

Однако это не помогает или даже влияет на ситуацию с ассоциацией файлов Windows. Для этого Вам будет нужна программа средства запуска, которая читает #! строка, и затем свяжите это с .py и .pyw файлами.

9
ответ дан 23 November 2019 в 22:49
поделиться

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

В противном случае можно легко повторно связать .py файлы с предыдущей версией. Самый простой путь состоит в том, чтобы щелкнуть правой кнопкой по .py файлу, выбрать "открытый с" / "выбирают программу". На диалоговом окне, которое появляется, выберите или просмотрите к версии Python, который Вы хотите использовать по умолчанию, и проверить "всегда использование эта программа для открытия этого вида файла" флажок.

1
ответ дан 23 November 2019 в 22:49
поделиться

Насколько я знаю, что Python убегает командной строки с помощью переменной ПУТИ в противоположность установке реестра.

Поэтому, если Вы указываете на правильную версию на своем ПУТИ на использование этого. Не забудьте перезапускать свою командную строку для использования новых настроек PATH.

4
ответ дан 23 November 2019 в 22:49
поделиться

Вот, пожалуйста ...

winpylaunch.py ​​

#
# Looks for a directive in the form: #! C:\Python30\python.exe
# The directive must start with #! and contain ".exe".
# This will be assumed to be the correct python interpreter to
# use to run the script ON WINDOWS. If no interpreter is
# found then the script will be run with 'python.exe'.
# ie: whatever one is found on the path.
# For example, in a script which is saved as utf-8 and which
# runs on Linux and Windows and uses the Python 2.6 interpreter...
#
#    #!/usr/bin/python
#    #!C:\Python26\python.exe
#    # -*- coding: utf-8 -*-
#
# When run on Linux, Linux uses the /usr/bin/python. When run
# on Windows using winpylaunch.py it uses C:\Python26\python.exe.
#
# To set up the association add this to the registry...
#
#    HKEY_CLASSES_ROOT\Python.File\shell\open\command
#    (Default) REG_SZ = "C:\Python30\python.exe" S:\usr\bin\winpylaunch.py "%1" %*
#
# NOTE: winpylaunch.py itself works with either 2.6 and 3.0. Once
# this entry has been added python files can be run on the
# commandline and the use of winpylaunch.py will be transparent.
#

import subprocess
import sys

USAGE = """
USAGE: winpylaunch.py <script.py> [arg1] [arg2...]
"""

if __name__ == "__main__":
  if len(sys.argv) > 1:
    script = sys.argv[1]
    args   = sys.argv[2:]
    if script.endswith(".py"):
      interpreter = "python.exe" # Default to wherever it is found on the path.
      lines = open(script).readlines()
      for line in lines:
        if line.startswith("#!") and line.find(".exe") != -1:
          interpreter = line[2:].strip()
          break
      process = subprocess.Popen([interpreter] + [script] + args)
      process.wait()
      sys.exit()
  print(USAGE)

Я только что прочитал эту тему, читая эту ветку (потому что это то, что мне тоже нужно). У меня есть Pythons 2.6.1 и 3.0.1 на Ubuntu и Windows. Если это не сработает, опубликуйте исправления здесь.

7
ответ дан 23 November 2019 в 22:49
поделиться

Необходимо удостовериться, что переменная окружения PATH не содержит оба файла python.exe (добавьте тот, который Вы в настоящее время используете для запущения скриптов на ежедневной основе), или сделайте как Kniht, предложенный с пакетными файлами. Кроме этого, я не вижу почему нет.

P.S.: у Меня есть 2,6 установленных как мой "основной" Python и 3.0 как мой "игра" Python. Эти 2.6 включены в ПУТЬ . Все хорошо работает.

1
ответ дан 23 November 2019 в 22:49
поделиться

Можно было оба установить.

необходимо записать это перед сценарием:

#!/bin/env python2.7

или, в конечном счете...

#!/bin/env python3.6

Обновление

Мое решение работает отлично с Unix после быстрого поиска на Google , вот решение для Windows:

#!c:/Python/python3_6.exe -u

То же самое: перед Вашим сценарием.

36
ответ дан 23 November 2019 в 22:49
поделиться

Установка Python обычно связывается .py, .pyw и .pyc файлы с интерпретатором Python. Таким образом, можно выполнить сценарий Python или путем двойного щелчка по нему в Проводнике или путем введения его имени в окне командной строки (таким образом, никакая потребность к типу python scriptname.py, всего scriptname.py не сделает).

, Если Вы хотите вручную изменить эту ассоциацию, можно отредактировать эти ключи в реестре Windows:

HKEY_CLASSES_ROOT\Python.File\shell\open\command
HKEY_CLASSES_ROOT\Python.NoConFile\shell\open\command
HKEY_CLASSES_ROOT\Python.CompiledFile\shell\open\command

Средство запуска Python

Люди работали над средством запуска Python для Windows: легкая программа связалась с .py и .pyw файлы, которые искали бы строку "хижины" (подобный Linux и др.) на первой строке и запустили бы Python 2.x или 3.x как требуется. См. "Средство запуска Python для Windows" сообщение в блоге для деталей.

3
ответ дан 23 November 2019 в 22:49
поделиться

Вот аккуратный и очевидный способ для установки Python2 & Python3 на окнах.

https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a

Мой случай: я должен был установить Apache cassandra. У меня уже было Python3, установленный в моем D: диск . С загрузками технической разработки при процессе я не сделал требуемый для питания моей установки Python3. И, мне был нужен Python2 только для Apache cassandra.

, Таким образом, я взял следующие шаги:

  1. Загруженный & Установленный Python2.
  2. Добавленные записи Python2 в путь к классу (C:\Python27;C:\Python27\Scripts)
  3. Измененный python.exe к [1 123] python2.exe (как показано в изображении ниже)

enter image description here

  1. Теперь я могу выполнить обоих. Для Python 2 (python2 --version) & Python 3 (python --version). enter image description here

Так, моя установка Python3 осталась неповрежденной.

0
ответ дан 23 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: