Битва Питонов - PullRequest
       7

Битва Питонов

0 голосов
/ 18 января 2020

Я выучил Python long * go, и когда я только устанавливал Python (возможно, я допустил некоторые ошибки при его установке), я обновился с 3.6 (32-разрядная версия) до 3.7.4 ( 64-бит). Однажды я обнаружил, что у меня (по ошибке?) Тоже установлена ​​3.7 (64-битная).

Сейчас я работаю над какой-то проблемой, и иногда мне нужно установить некоторые новые библиотеки, например, OpenCV для обнаружения и обработки изображений. Но когда я устанавливаю что-то с помощью 'pip', он устанавливает это в каталог Python36-32. У меня Python IDLE 3.7.4, поэтому между разными питонами постоянно появляются ошибки. Я также удалил Python 3.6 (32-разрядная версия), но тогда я больше не мог использовать команду 'pip'. Я также пытался изменить переменные среды с Python36-32 на Python37-64. Я много хромал, но безуспешно.

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

В общем : Когда я был новичком ie в Python программировании, у меня есть (по ошибке) установлены версии 3 Python: 3,6 (32-разрядная версия), 3,7 (64-разрядная версия) и 3,7,4 (64-разрядная версия). Мой IDLE работает в 3.7.4 (64-битная версия), а мой pip устанавливает все библиотеки в Python 3.6 (32-битная версия). Мой компьютер - поле битвы для многих Питонов. Я понятия не имею, что делать. Должен ли я удалить какую-то версию, изменить что-то ...

Большое спасибо за решение проблемы!

PS Я понял, что для меня эта проблема (битва питонов) намного сложнее, чем проблема, над которой я работаю.

Ответы [ 3 ]

1 голос
/ 18 января 2020

Различные версии Python могут сосуществовать на вашей машине одновременно.

Почти все операционные системы включают системную версию Python, которая устанавливается вместе с операционной системой и которую не следует изменять; если вы запустите команду python в своем терминале из коробки, это версия Python, которую вы получите. Эту систему Python не следует модифицировать, так как это может привести к поломке установленных на ней инструментов и библиотек, которые зависят от нее.

Установка Python на вашем компьютере (через веб-сайт Python) устанавливает новый Python на вашем компьютере, который имеет приоритет над системой Python. Однако это процесс «prepend», а не процесс «replace». Каждая новая установленная версия Python будет иметь приоритет над предыдущими версиями. Но , если вы попытаетесь импортировать пакет, и этот пакет не существует в вашей версии Python с наивысшим приоритетом, ваш компьютер пробежит по старым файлам-путям модуля Python, чтобы попробовать найти их. Это плохо, потому что внезапно вы используете пакеты из разных версий Python, которые могут сломаться из-за различий между языковыми версиями.

Рекомендуется устанавливать только одну версию Python. на вашем компьютере (кроме системы Python), а затем используйте virtualenv или conda для управления настройкой новой рабочей среды. Поэтому вам следует установить все версии Python, кроме самых последних, а затем узнать, как использовать эти инструменты, чтобы избежать проблем с окружающей средой.

1 голос
/ 18 января 2020

Это причина, почему виртуальные среды поощряются в эти дни. Многие современные идеи, такие как pycharm, упрощают создание каждого проекта в виртуальной среде. В соответствии с версией python вы можете устанавливать библиотеки, которые не будут мешать другим проектам или глобальным средам / настройкам.

Так что лучший способ избежать подобных проблем - использование виртуальной среды. Надеюсь, что это поможет в дальнейших проектах.

Эта статья стала хорошим началом для меня https://realpython.com/python-virtual-environments-a-primer/

Отредактировал бы больше ссылок, если я найду

1 голос
/ 18 января 2020

У меня похожий опыт, когда я впервые пользуюсь python перед аспирантурой. Для меня это потому, что ОС, которую я использовал в то время, windows, конечно. Даже сейчас я все еще чувствую, что windows не очень хорошая ОС для программирования. Одно решение для управления библиотекой (conda) мне очень помогло. Прямо сейчас у conda есть интерфейс GUI, и он предоставляет удобную для начинающих программистов точку входа для использования python. Еще одна огромная новинка того времени - это ноутбук Jupyter (раньше назывался I python), он позволяет использовать полупанель и WYSIWYG-программирование. Сейчас мы все используем отладчики, но все же это очень интуитивный способ программирования.

Надеюсь, это поможет.

...