Понизьте версию Python с 3.9 до 3.8

Вы можете использовать три эффективных метода для понижения версии Python, установленной на вашем устройстве: метод virtualenv , метод Панель управления и метод Anaconda . Здесь, в нашем руководстве, мы предоставим вам подробную информацию и примеры кода, необходимые для перехода на более раннюю версию Python.
Понизьте версию Python с 3.9 до 3.8 с помощью модуля virtualenv
Метод virtualenv используется для создания и управления различными виртуальными средами для Python на устройстве; это помогает решить проблемы с зависимостями, проблемами с версиями и разрешениями в различных проектах.
Предположим, мы имеем дело с проектом, для работы которого требуется другая версия Python. В этом случае мы можем использовать модуль virtualenv для создания новой виртуальной среды для этого конкретного проекта и установки необходимой версии Python внутри этой виртуальной среды. Чтобы создать виртуальную среду, нам сначала нужно установить модуль vritualenv . Вот команда для установки этого модуля:
Теперь мы можем создать нашу виртуальную среду с помощью модуля virtualenv . Команда для создания новой виртуальной среды приведена ниже.
Здесь \path\to\env — это путь к виртуальной среде, а \path\to\python_install.exe — это путь, по которому уже установлена необходимая версия Python. Чтобы эта команда работала, мы должны сначала установить требуемую версию Python на нашем устройстве.
После установки вам просто нужно активировать нашу виртуальную среду. Вы можете сделать это, выполнив команду ниже:
Здесь \path\to\env — это путь к виртуальной среде.
Понизьте версию Python с 3.9 до 3.8 с помощью Anaconda
Мы также можем использовать Anaconda, как virtualenv , для понижения версии Python. Во-первых, вам нужно установить Anaconda на свое устройство. После установки мы можем создать новую виртуальную среду для нашего проекта с помощью диспетчера пакетов conda . Команда для создания виртуальной среды с conda приведена ниже:
Эта команда создает новую виртуальную среду под названием downgrade для нашего проекта с Python 3.8. Следующим шагом будет активация нашей виртуальной среды. Команда для запуска виртуальной среды с помощью conda приведена ниже.
Приведенная выше команда активирует виртуальную среду на более раннюю . Теперь мы можем установить все пакеты, необходимые для нашего специального проекта.
Этот подход очень похож на метод virtualenv . Однако метод conda проще и удобнее в использовании, чем предыдущий подход. Нам даже не нужно вручную устанавливать другую версию Python; менеджер пакетов conda автоматически устанавливает его для нас.
Понизьте версию Python с 3.9 до 3.8 с помощью панели управления
Этот метод работает только для устройств под управлением операционной системы Windows. Этот подход включает в себя удаление ранее существовавшей версии Python вручную и повторную установку необходимой версии.
Мы можем удалить Python, выполнив следующие действия: Go to Control Panel -> Uninstall a program -> Search for Python -> Right Click on the Result -> Select Uninstall .
Теперь, когда предыдущая версия Python удалена с вашего устройства, вы можете установить желаемую версию программного обеспечения, перейдя на официальную страницу загрузки Python.
Этот подход наименее предпочтителен из тех, что обсуждаются в этом руководстве. Это потому, что этот подход работает только для Windows и должен использоваться только тогда, когда нам больше не нужна предыдущая версия Python.
Лучшим подходом для понижения версии Python или использования другой версии Python, помимо той, которая уже установлена на вашем устройстве, является использование Anaconda. Команды для использования Anaconda очень просты и автоматизируют для нас большинство процессов.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
Установка питоновых модулей (версия Legacy)
Весь пакет distutils устарел и будет удален в Python 3.12. Эта документация сохраняется только в качестве справки и будет удалена вместе с пакетом. Дополнительную информацию см. в разделе « Что нового» .
Актуальная документация по установке модуля.Для регулярного использования Python вам почти наверняка понадобится этот документ,а не этот.
Этот документ сохраняется только до тех пор, пока документация по setuptools по адресуhttps://setuptools.readthedocs.io/en/latest/setuptools.html не будет охватывать всю соответствующую информацию, включенную в настоящее время здесь.
В этом руководстве рассматриваются только основные инструменты для создания и распространения расширений, которые входят в состав этой версии Python. Сторонние инструменты предлагают более простые в использовании и более безопасные альтернативы. Дополнительные сведения см. в разделе кратких рекомендаций в Руководстве пользователя по упаковке Python.
Introduction
В Python 2.0 API distutils впервые был добавлен в стандартную библиотеку. Это предоставило мейнтейнерам дистрибутивов Linux стандартный способ преобразования проектов Python в пакеты дистрибутивов Linux, а системным администраторам — стандартный способ их установки непосредственно на целевые системы.
За многие годы, прошедшие с момента выпуска Python 2.0, тесная связь системы сборки и установщика пакетов с циклом выпуска среды выполнения языка оказалась проблематичной, и теперь рекомендуется, чтобы проекты использовали установщик пакетов pip и систему сборки setuptools , а не чем использовать distutils напрямую.
Эта устаревшая документация сохраняется только до тех пор, пока мы не будем уверены, что документация setuptools охватывает все необходимое.
Дистрибутивы с исходным кодом на основе Distutils
Если вы загрузите дистрибутив с исходным кодом модуля, вы сможете довольно быстро определить, был ли он упакован и распространен стандартным способом, т. е. с помощью Distutils. Во-первых, название дистрибутива и номер версии будут отображаться в названии загружаемого архива на видном месте, например, foo-1.0.tar.gz или widget-0.9.7.zip . Далее архив распаковывается в одноименную директорию: foo-1.0 или widget-0.9.7 . Кроме того, дистрибутив будет содержать сценарий установки setup.py и файл с именем README.txt или, возможно, просто README , что должно объяснить, что сборка и установка дистрибутива модуля — это просто запуск одной команды из терминала:
Для Windows эту команду следует выполнить из окна командной строки (Пуск ‣ Аксессуары):
Если все это так,то вы уже знаете,как собрать и установить модули,которые вы только что загрузили:Выполните приведенную выше команду.Если вам не нужно устанавливать модули нестандартным способом или настраивать процесс сборки,вам не нужно это руководство.Вернее,приведенная выше команда-это все,что вам нужно получить от этого руководства.
Стандартная сборка и установка
Как описано в разделе Исходные дистрибутивы на основе Distutils , сборка и установка дистрибутива модуля с помощью Distutils обычно представляет собой одну простую команду, запускаемую из терминала:
Platform variations
Вы всегда должны запускать команду установки из корневого каталога дистрибутива, т. е. из подкаталога верхнего уровня, в который распаковывается исходный дистрибутив модуля. Например, если вы только что загрузили дистрибутив исходного кода модуля foo-1.0.tar.gz в систему Unix, обычным делом будет:
В Windows вы, вероятно, загрузите foo-1.0.zip . Если вы загрузили файл архива в C:\Temp , он распаковывается в C:\Temp\foo-1.0 ; вы можете использовать архивный манипулятор с графическим пользовательским интерфейсом (например, WinZip) или инструмент командной строки (например, unzip или pkunzip ) для распаковки архива. Затем откройте окно командной строки и выполните:
Разделение работы на части
Запуск setup.py install собирает и устанавливает все модули за один раз. Если вы предпочитаете работать постепенно, что особенно полезно, если вы хотите настроить процесс сборки или если что-то идет не так, вы можете использовать сценарий установки, чтобы выполнять одну операцию за раз. Это особенно полезно, когда сборкой и установкой будут заниматься разные пользователи — например, вы можете захотеть собрать дистрибутив модуля и передать его для установки системному администратору (или сделать это самостоятельно с правами суперпользователя).
Например,вы можете собрать все за один шаг,а затем установить все за второй шаг,дважды вызывая сценарий установки:
Если вы сделаете это, вы заметите, что запуск команды установки сначала запускает команду сборки , которая — в данном случае — быстро замечает, что ей нечего делать, поскольку все в каталоге build обновлено.
Возможно,вам не часто понадобится эта способность разбивать вещи на части,если все,что вы делаете,это устанавливаете модули,скачанные из сети,но она очень удобна для более сложных задач.Если вы займетесь распространением собственных модулей и расширений Python,вы будете использовать множество отдельных команд Distutils самостоятельно.
Как происходит строительство
Как подразумевалось выше, команда сборки отвечает за помещение файлов для установки в каталог сборки . По умолчанию это build под корнем дистрибутива; если вы слишком озабочены скоростью или хотите сохранить исходное дерево в первозданном виде, вы можете изменить каталог сборки с помощью параметра —build-base . Например:
(Или вы можете сделать это постоянно с помощью директивы в вашей системе или в личном файле конфигурации Distutils; см. раздел Файлы конфигурации Distutils .) Обычно в этом нет необходимости.
По умолчанию дерево сборки располагается следующим образом:
где <plat> расширяется до краткого описания текущей ОС/аппаратной платформы и версии Python. Первая форма, только с каталогом lib , используется для «чистых дистрибутивов модулей», то есть дистрибутивов модулей, которые включают только чистые модули Python. Если дистрибутив модулей содержит какие-либо расширения (модули, написанные на C/C++), то используется вторая форма с двумя каталогами <plat> .В таком случае temp.plat содержит временные файлы, созданные в процессе компиляции/связывания, которые на самом деле не устанавливаются. В любом случае каталог lib (или lib.plat ) содержит все модули Python (чистый Python и расширения), которые будут установлены.
В будущем будут добавлены дополнительные каталоги для работы со скриптами Python,документацией,двоичными исполняемыми файлами и всем остальным,что необходимо для работы по установке модулей и приложений Python.
Как происходит установка
После запуска команды сборки (независимо от того, запускаете ли вы ее явно или команда установки делает это за вас), работа команды установки относительно проста: все, что ей нужно сделать, это скопировать все в build/lib (или build/lib.plat ) в выбранный вами каталог установки.
Если вы не выберете каталог для установки, т. е. просто запустите setup.py install , то команда установки установит его в стандартное расположение для сторонних модулей Python. Это расположение зависит от платформы и от того, как вы собрали/установили сам Python. В Unix (и macOS, которая также основана на Unix) это также зависит от того, является ли устанавливаемый дистрибутив модулей чистым Python или содержит расширения («нечистые»):
Стандартное место установки
- Большинство дистрибутивов Linux включают Python в качестве стандартной части системы, поэтому prefix и префикс exec-prefix обычно имеют значение /usr в Linux. Если вы сами создаете Python в Linux (или любой Unix-подобной системе), префикс по умолчанию и prefixexec-prefix — /usr/local .
- Каталог установки по умолчанию в Windows — C:\Program Files\Python в Python 1.6a1, 1.5.2 и более ранних версиях.
prefix и exec-prefix обозначают каталоги, в которые установлен Python, и где он находит свои библиотеки во время выполнения. Они всегда одинаковы под Windows и очень часто одинаковы под Unix и macOS. Вы можете узнать, какие prefix и exec-prefix используются в вашей установке Python , запустив Python в интерактивном режиме и введя несколько простых команд. В Unix просто введите python в командной строке. В Windows выберите Пуск ‣ Программы ‣ Python XY ‣ Python (командная строка). После запуска интерпретатора вы вводите код Python в командной строке. Например, в моей системе Linux я набираю три инструкции Python, показанные ниже, и получаю вывод, как показано, чтобы узнать мой prefix и exec-prefix :
В этом документе используется несколько других заполнителей: X.Y обозначает версию Python, например 3.2 ; abiflags будет заменен значением sys.abiflags или пустой строкой для платформ, которые не определяют флаги ABI; distname будет заменено именем устанавливаемого дистрибутива модуля. В путях важны точки и заглавные буквы; например, значение, использующее python3.2 в UNIX, обычно будет использовать Python32 в Windows.
Если вы не хотите устанавливать модули в стандартное расположение или у вас нет прав на запись туда, вам необходимо прочитать об альтернативных установках в разделе Альтернативная установка . Если вы хотите более тщательно настроить каталоги установки, см. раздел Выборочная установка о выборочных установках.
Alternate Installation
Часто бывает необходимо или желательно установить модули в место,отличное от стандартного расположения сторонних модулей Python.Например,в системе Unix у вас может не быть разрешения на запись в стандартный каталог модулей сторонних разработчиков.Или вы можете захотеть опробовать модуль,прежде чем сделать его стандартной частью вашей локальной установки Python.Это особенно актуально при обновлении уже имеющегося дистрибутива:вы хотите убедиться,что существующая база скриптов будет работать с новой версией,прежде чем приступать к обновлению.
Команда Distutils install предназначена для простой и безболезненной установки дистрибутивов модулей в альтернативное место. Основная идея заключается в том, что вы указываете базовый каталог для установки, а команда установки выбирает набор каталогов (называемый схемой установки ) в этом базовом каталоге, в который будут устанавливаться файлы. Детали различаются для разных платформ, поэтому прочитайте тот из следующих разделов, который относится к вам.
Обратите внимание, что различные альтернативные схемы установки являются взаимоисключающими: вы можете передать —user , или —home , или —prefix и —exec-prefix , или —install-base и —install-platbase , но вы можете Не смешивай из этих групп.
Менеджер версий python
Иногда полезно держать несколько версий python на одной машине. Допустим для разработки двух проектов нам необходима вторая и третья ветка python. Или вы поддерживаете проект который использует старую версию python.
Обычно для этого мы используем виртуальное окружение virtualenv или же обертку для него virtualenvwrapper. Об этом я рассказывать не буду, так как есть уже много подобных статей, да и в документациях к самим утилитам все очень хорошо объяснено. Достаточно только забить virtualenv или virtualenvwrapper в поисковик.
Но в дополнение к ним я хочу рассказать в этой статье про менеджер версий python. Кому любопытно прошу под кат.
Чтобы использовать несколько версий python, можно установить их вручную или воспользоваться менеджер версий. Таких есть два: pythonbrew(который более не развивается) и pyenv. Оба менеджера не поддерживают windows(pythonbrew, pyenv) так что питонистам пишущим на этой платформе, придется пока разруливать все руками, либо сделать свою утилиту для смены путей до нужных версий. Кто как справляется с данной ситуацией можете оставлять в комментариях.
Так как pythonbrew более не поддерживается в этой статье он рассмотрен не будет.
P.S. В статье приведены примеры проверенные для OS Ubuntu 12.04. При попытке повторить их, делайте поправки относительно своего дистрибутива.
Ручной способ
Для того чтобы работать с несколькими версиями питона, можно установить необходимые версии в указанный префикс. Например чтобы не мудрить с правами, установим дополнительно 2 версии python(2.7.6 и 3.3.2) в директорию пользователю:
2.7.6
для 3.3.2 делаем аналогичные операции:
Теперь можно создать виртуальное окружение чтобы использовать эти версии:
или через virtualenvwrapper:
Собственно на основании такого способа описана статья по созданию мультихостинга.
Далее если вам необходимо использовать какую-то из этих версий как python по умолчанию, то вам необходимо добавить в переменную окружения путь до интерпретатора python.
Соответственно вместо bashrc вы ставите bash_profile, zshrc, kshrc, profile в зависимости от вашей командной оболочки.
И по необходимости можно установить pip, предварительно установив setuptools.
Фух, ну вроде бы все. А теперь о том как можно сделать это проще использую менеджер версий python.
PyEnv
В общем если вы достаточно ленивы, то можно не делать всего того что описано выше а воспользоваться утилитой pyenv, которая упростит вам данное взаимодействие с окружением и путями.
- Let you change the global Python version on a per-user basis.
- Provide support for per-project Python versions.
- Allow you to override the Python version with an environment variable.
- Search commands from multiple versions of Python at a time. This may be helpful to test across Python versions with tox.
/.pyenv/versions/ . Изменять версии Python можно как в глобальном контексте так и в локальном(например под конкретный проект).
Как ставить pyenv хорошо описывается в инструкции. Так же у автора есть скрипт который по мимо самой pyenv ставит еще и дополнительные плагины, в том числе и для virtualenv. Есть возможность установить плагин и для virtualenvwrapper.
Прежде чем начать установку, убедитесь, что у вас установлен git:
Далее устанавливаем по инструкции:
Во втором случае установка произойдет с дополнительными плагинами.
Далее, для того чтобы все заработало, дополним наш bashrc и перезагрузим оболочку:
Для обновления утилиты или смены ее версии используем git.
Для управления версиями pyenv необходимо перейти в директорию с утилитой:
Для просмотра доступных версий:
для смены версии
Пример использования
В добавок ко всему все довольно подробно и детально расписано у автора проекта в его репозиториях на github.
Виртуальное окружение
Все, а дальше как хотите. Если вы используете 3 ветку python то для создания виртуального окружения можно воспользоваться утилитой venv которая работает из коробки. Про это есть статья на хабре. Если вы больше привыкли к virtualenv или ее обертке virtualenvwrapper то тут есть два варианта: либо поставить плагин к pyenv, или использовать их к той версии python c которой вы работаете. Соответственно если выбрать первый вариант, то созданные вами окружения будут добавлены к вашим версиям python и доступны через команду:
Добавить плагин легко, просто клонируем его из репозитория pyenv-virtualenv или pyenv-virtualenvwrapper:
Пример использования можно посмотреть в документации для pyenv-virtualenv и pyenv-virtualenvwrapper.
Все, а дальше пользуйтесь, как вам привычнее.
Пример использования
Теперь находясь в директории проекта можно запускать скрипт от нужной версии python не прилагая никаких действий. pyenv создает в директории файл .python-version который содержит в себе информацию о том какую версию python с каким окружение использовать для данного проекта.
How To Downgrade Python
In this tutorial, you will learn how to downgrade Python from your current version to the lower version.
You can easily downgrade your Python version if you are using a visual editor such as Anaconda or Visual Studio.
You will need to make sure that you have PIP installed on your computer and also have virtualevn installed on your computer as well.
How To Downgrade Python
virtualevn Allows you to have multiple versions of the Python installed on your system. To downgrade Python or install multiple Python follow the below-mentioned steps.

On Windows:
- Open a command prompt (“cmd”) and type pip install virtualenv into the command window.
- Install the Python version you want from here; remember not to include it in your PATH environment variable.
- Enter virtualenv path\to\env -p \path\to\python_install.exe into the command prompt, where \path\to\env will be the path where your virtual environment will be located and path\to\python_install.exe will be the path where your newly (presumably) installed Python version will be located. 4.
- A virtual environment has now been created for you. After that, to activate the virtual environment, run the activate.bat batch file, which can be found in the path to the virtual environment’s scripts folder. This website or an official Python guide.
Alternate Option
Alternatively, you may choose to uninstall the version of the software that you are currently using from the installed program’s options. Then, from the official Python website, download the version of Python that you want to use and install it on your computer.
Ensure that you have set all of the environment Path variables for the newly installed Python version so that you can access the Python from anywhere in your program’s source code.
Uninstalling Python can be accomplished by going to Control Panel -> “Uninstall a program,” searching for “Python,” right-clicking the Python name, and selecting “Uninstall.” Keep in mind that Python typically has a PATH variable stored, so you should also remove it from the environment.
For HomeBrew Users:
Homebrew is a software package management system that can be used to downgrade the Python version on your Linux operating system. Follow the below code to install the required Python Version. In the below example I have installed version 3.9.0 by uninstalling Python version 3.10.2.
For Linux Users:
- To begin, download the desired Python version from the official Python website and install it as if it were a normal package on your computer.
- Then execute the following code: cd /Library/Frameworks/Python.framework/Version
- Now, To see a list of all the Python versions that are currently installed, run the command ls.
- Then run sudo rm -rf 3.8 (Note here you can enter the version you want to remove instead of 3.8) to remove the Python version from your System.
- After you’ve done all of that, run python3 -v. It will display the version of the software you selected to install.
For Mac Users:
You can use the Homebrew option on your macOS operating system. To install Homebrew follow the below steps and then further to uninstall unwanted and install the required version of Python from your macOS operating system.
Installing pyenv With HomeBrew:
Clone the GitHub repository to get latest pyenv version:\
Set Environment Variables
Restart Shell Terminal
Check Required Python Version
Installing Required Python Version
Set Global Environment Variable
Changing it on a global scale (you can also go ahead and only use it in a certain environment)
Check the Python version that is currently being used by the system – your desired/downgraded version should appear here.
For Anaconda Users:
If you are using the Anaconda software to run a Python program and you want to set the Python version to a lower version than the one that is currently in use, then enter the code below in the Anaconda Terminal and hit enter.
Wrap Up
On any of the environments listed above, I hope you were successful in downgrading Python to the required version that you desired.
If you are still unable to downgrade Python on your system, please let me know in the comments section and I will be happy to assist you as soon as possible.
If you liked the above tutorial then please follow us on Facebook and Twitter. Let us know the questions and answer you want to cover in this blog.