Как/должен ли я установить Python 3.5 из 2.7? (окна)

Я использую python 2.7 и у меня установлены следующие пакеты:

distribute
decorator
*matplotlib
memory-profiler
networkx
*numpy
Pillow
pip
py2exe
PyAudio
*PyBluez
*pygame
pyglet
*PyInstaller
pyparsing
*pyserial
python-dateutil
pytz
pywin32
requests
scikit-learn
*scipy
setuptools
six

Те, что отмечены *, являются критическими.

Я хочу перейти на python 3.5, полностью отказавшись от 2.7 (не хочу иметь оба).

  1. Могу ли я сделать это, сохраняя свои старые пакеты, или мне придется устанавливать все с нуля?

  2. Есть ли причины, по которым мне не следует переходить на py 3.5 с 2.7?

  3. Должен ли я сначала перейти на 3,3/3,4 или сразу на 3,5?

  4. Я не использую virtualenv, потому что я не очень хорошо с этим знаком. Нужно ли мне?

ОБНОВЛЕНИЕ: Продолжение.

Я могу просто составить список пакетов, которые у меня есть, а затем вручную установить их все.

  1. Как мне установить 3.5 и удалить 2.7?

Нужно ли сначала удалить 2.7, а затем установить 3.5 или установить их оба одновременно (будет ли это создавать какие-либо проблемы?), а затем удалить 2.7?

В основном я использую python для numpy, bluetooth, serial, OpenCV, OpenGL. Я намерен немного углубиться в Интернет позже. У меня нет проблем с синтаксисом или изменением метода. Раньше я ждал pyinstaller, но он тоже недавно был портирован на 3.5.


person azazelspeaks    schedule 27.10.2015    source источник


Ответы (3)


Вам нужно будет переустановить все ваши пакеты. Вы должны убедиться, что все эти пакеты доступны для Python 3. (Из вашего вопроса может показаться, что вы уже сделали это, но не совсем уверены.)

Было бы разумно проверить, как обстоят дела с Python 3, прежде чем полностью отказаться от Python 2. Вы можете сделать это, установив два бок о бок, или установив Python 3 на виртуальную машину, или что-то в этом роде. Если у вас есть существующий код, который вы хотите продолжать использовать, вам определенно нужно протестировать его, чтобы убедиться, что все работает на Python 3 без сбоев.

Скорее всего нет смысла переходить на 3.3/3.4. Просто сразу перейти на 3.5.

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

person BrenBarn    schedule 27.10.2015

Только что понял после переключения.

Не устанавливайте python 3.5, если хотите, чтобы OpenCV работал. Он еще не создан для этого, и некоторые функции не работают.

person azazelspeaks    schedule 06.11.2015

Перемещение пакетов — плохая идея, безопаснее переустанавливать их с помощью pip:

  • Используйте 1_. Он будет хранить все пакеты и версии в файле
  • Установите Python 3.5
  • Выполнить pip install -r requirements.txt. Он установит те же пакеты на ваш python3.5.
  • Запустите все тесты для этого Python, чтобы убедиться, что ваше приложение по-прежнему работает должным образом.

Единственная причина оставаться с 2.7 — это несовместимый код: если ваш код или один из ваших пакетов не работает на Py3K.

Virtualenv — полезный инструмент, любой разработчик Python должен знать, как его использовать.

person user996142    schedule 27.10.2015
comment
это хороший пример того, почему вы должны использовать virtualenv или conda. Вам нужно только создать новую среду с другой версией Python, и все готово. - person postelrich; 27.10.2015
comment
что я должен предпочесть virtualenv или conda? - person azazelspeaks; 27.10.2015