Управление несколькими версиями Python под.. Что значит "идеальный" пакет?
- Управление несколькими версиями Python под.. Что значит "идеальный" пакет?
- Как изменить версию Python в pycharm. Как выбрать версию Python в PyCharm?
- Несколько версий Python Windows. Installing Multiple Python Versions on Windows Using Virtualenv
- Как изменить версию Python Linux. Upgrade Python to latest version (3.10) on Ubuntu Linux
- Как установить другую версию Python Linux. Скачивание последней версии Python
- Как установить несколько версий Python Ubuntu. Pyenv – Install Multiple Python Versions for Specific Project
- Как изменить версию Python по умолчанию Ubuntu. Переключение версии Python на Ubuntu и Debian
Управление несколькими версиями Python под.. Что значит "идеальный" пакет?
Буду исходить из следующих требований:
- Open source на github;
- Поддержка всех актуальных\популярных версий python (2.7, 3.5, 3.6, 3.7, 3.8);
Питоны бывают разные, и где-то до сих пор активно пишут на 2.7. - 100% покрытие юнит тестами;
Юнит тесты улучшает архитектуру, позволяет автоматизировать регрессионные проверки.Бейдж с заветным числом повышает ЧСВ и задает планку другим . - Использование CI:
Автоматические проверки — это очень удобно!А еще куча клевых бейджей- Запуск юнит тестов на всех платформах и на всех версиях питона;
Не стоит верить тем, кто утверждает, что питон и устанавливаемые пакеты — кроссплатформенные , ведь всегда можно натолкнуться на баг . - Проверка код стайла;
Единый стиль улучшает читаемость и уменьшает количество пустых дискуссий в ревью. - Статический анализатора кода;
Автоматический поиск багов в коде? Дайте два!
- Запуск юнит тестов на всех платформах и на всех версиях питона;
- Актуальная документация;
Примеры работы с пакетом, описание методов\классов и разбор типичных ошибок — задокументированный опыт позволят снизить порог входа для новичков. - Кроссплатформенность разработки;
К сожалению, в проекты сложно вносить личный вклад просто потому, что разработчик заточил инструменты под Unix. К примеру, для сборки использовал bash скрипты. - Пакет полезен и делает мир лучше.
Сложное требование, так как судя по количеству пакетов в pypi (~210к) разработчики — дикие альтруисты и многое уже написано.
Как изменить версию Python в pycharm. Как выбрать версию Python в PyCharm?
Вопрос:
У меня есть PyCharm 1.5.4 и использовали параметр “Открыть каталог”, чтобы открыть содержимое папки в среде IDE.
Как я могу выбрать другую версию Python (которую я уже установил на своей машине), чтобы PyCharm использовал эту версию?
Лучший ответ:
Файл → Настройки
Настройки- > Project Interpreter- > Python Interpreters
Если он не указан, добавьте его.
Ответ №1
Я думаю, вы говорите, что у вас установлены python2 и python3, и добавили ссылку на каждую версию в Pycharm > Settings > Project Interpreter
Я думаю, что вы спрашиваете, как у вас есть проекты, запущенные с Python 2 и некоторые проекты, запущенные с Python 3.
Ответ №2
Это также может произойти в Intellij Ultimate, интегрированном с PyCharm. Проблема диагностирована выше, вы выбрали неверный интерпретатор.
Точный способ исправить это для любого заданного проекта – перейти в Настройки проекта … Проект и настроить Project SDK . Вы можете добавить новый SDK проекта, если у вас нет Python 3, добавленного путем перехода к двоичному файлу python3. Это устранит ошибки, перечисленные выше. Ярлык для параметров проекта – это значок синей шахматной доски.
Вы также можете добавить Python 3 в качестве интерпретатора по умолчанию для проектов Python. В OSX это находится в Файл . Другие настройки … Структура проекта по умолчанию . Там вы можете установить Project SDK , который теперь будет применяться к каждому новому проекту. Он может быть другим на других платформах, но все же аналогичен.
Ответ №3
Идти к:
Files → Settings → Project → *"Your Project Name"* → Project Interpreter
Там вы можете увидеть, какие внешние библиотеки вы установили для python2, а какие для python3.
Выберите необходимую версию Python в соответствии с вашими требованиями.
Ответ №4
Быстрый ответ:
- Выберите желаемого
Project interpreter
Apply+
File
→Setting
project
→Project interpreter
:
Ответ №5
Впоявилась новая функция, которая называется(прокрутите немного вниз). Это упрощает переключение между интерпретаторами Python и позволяет увидеть, какую версию вы используете.
Включить строку состояния
Если вы не видите строку состояния, вы можете легко активировать ее, выполнив команду “Найти действие” (Ctrl+Shift+Aили⌘+⇧+Aна компьютере Mac). Затем введите строку состояния и выберите View: Status Bar, чтобы увидеть ее.
Ответ №6
когда я использую терминал для запуска проекта, требуется Python 2.7.13:: Anaconda 4.3.0 (64-разрядная версия).
Несколько версий Python Windows. Installing Multiple Python Versions on Windows Using Virtualenv
You are here because:
- You are using Windows OS version 10+
- You would like to use multiple Python versions on the same computer
- You are tired of the internet telling you to “Just Use Virtualenv”
TL;DR
- Open
Command Prompt
and enterpip install virtualenv
- Download the desired
python
version (do NOT add to PATH!), and remember thepath\to\new_python.exe
of the newly installed version - To create a virtualenv, open
Command Prompt
and entervirtualenv \path\to\env -p path\to\new_python.exe
- If you are using
PyCharm
, update theProject Interpreter
and theCode compatibility inspection
. - To install packages:
(I) Activate virtualenv: openCommand Prompt
and enterpath\to\env\Scripts\activate.bat
(II) Install desired packages
(III) Deactivate withdeactivate
.
The Long version; Do Read
Prologue
If you are using thethis process might be easier using their GUI. I haven’t tried it myself, please let me know how it went if you are going down that road :)
1. Install virtualenv
If you already have some virtual environments, or are using Anaconda, make sure the next steps are performed from outside all these environments.
2. Install Python
You can download python from the official site , for example forpython3.7.3
go here .
The file you should be downloading is calledWindows x86–64 executable installer
, orWindows x86 executable installer
if for some reason you are using a 32-bit windows.
Once downloading is finished, open the executable file and an installation prompt will appear.
- You do NOT want to add the new python to your PATH since we are going to have multiple python versions on the same computer, and we would like for each application to know only one python version.
- Either use the default suggested location for the new python, or supply a location of your choice. Either way, remember this location and let’s denote it from now on with
C:\
.\Python37
3. Create a virtualenv
Open theCommand Prompt
, or if you are using Anaconda open theAnaconda Prompt
.
Decide where you want your virtualenv to be, for example,C:\Users\
.
Enter:
virtualenv C:\Users\
4. Update PyCharm Interpreter
If you are using PyCharm, open the project you would like to work on (that is/will be written with the new python version), and go toFile -> Settings -> Project -> Project Interpreter
press the gear icon and thenAdd..
.
This will open a prompt window that allows you to define a new interpreter:
Assuming you are using Code Inspections, you might need to tell PyCharm which python version to inspect for. Go toFile -> Settings-> Editor -> Inspections -> Python -> Code compatibility Inspection
, make sure the box on the top indicates the specific project you are working on, and tick the box of your python version.
5. Install packages
Currently, yourvirtualenv
contains only the crucial packages,pip
andsetuptools
. To install more packages:
- Open
Command Prompt
orC:\Users\
\Anaconda3\envs\ \activate.bat - Use
pip
to install packages like you usually do.
deactivate
.Epilogue
This morning, when I decided to open a new project with a different python version, I thought, “Yeah, I’ll just use a virtualenv”, because the internet said I can “Just do it”.
Well, it’s working now, so no hard feelings dear internet, but seriously, was the “Just” really justified? Does reinstalling-PyCharm-only-because-I-want-to-have-proper-code-inspections fall under the “Just” category??
Anyway, along the way I stumbled upon several helpful guides, but each one took me “just” one step of the way, so I decided to put it all in one place.
Как изменить версию Python Linux. Upgrade Python to latest version (3.10) on Ubuntu Linux
apt upgrade
command as well.To check the version of Python installed on your system run
python3 --version
python
keyword is used for Python 2.x versions which has been deprecated
In this guide we will
- Update Python to the latest version
- Fix pip & other Python related issues
- While doing the above two, ensure your Ubuntu which is heavily dependent on Python does not break
Updating Python to the latest version
Ubuntu's default repositories do not contain the latest version of Python, but an open source repository nameddeadsnakes
does.
Python3.10 is not officially available on Ubuntu 20.04, ensure you backup your system before upgrading.
Step 1: Check if Python3.10 is available for install
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
apt list | grep python3.10
This will produce the below result, if you see python3.10 it means you can install it
Step 2: Install Python 3.10
sudo apt install python3.10
python3 --version
you will still see an older version. This is because you have two versions of Python installed and you need to choose Python 3.10 as the default.Step 3: Set Python 3.10 as default
Steps beyond here are tested on Ubuntu 20.04 in VM & WSL2, but are experimental , proceed at your own risk.
Changing the default alternatives for Python will break your Gnome terminal. To avoid this, you need to edit thegnome-terminal
configuration file.
Open the terminal and run:
sudo nano /usr/bin/gnome-terminal
In first line, change#!/usr/bin/python3
to#!/usr/bin/python3.8
. PressCtrl +X
followed byenter
to save and exit.
Then save and close the file.
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
Now run
sudo update-alternatives --config python3
Now runpython3 --version
again and you should see the latest Python as the output.
Fix pip and disutils errors
Installing the new version of Python will breakpip
as thedistutils
for Python3.10 is not installed yet.
Fix Python3-apt
Runningpip
in terminal will not work, as the current pip is not compatible with Python3.10 and python3-apt will be broken, that will generate an error like
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 28, in <module>
from CommandNotFound import CommandNotFound
File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
from CommandNotFound.db.db import SqliteDatabase
File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module>
import apt_pkg ModuleNotFoundError: No module named 'apt_pkg'
sudo apt remove --purge python3-apt
Then do some cleanup
sudo apt autoclean
DO NOT RUNsudo apt autoremove
as it will remove several packages that are required. This may break your system if you're using GUI, if you're on WSL2 you can proceed.
Как установить другую версию Python Linux. Скачивание последней версии Python
Первый шаг должен быть вам знаком: нам необходимо обновить зеркала Ubuntu и установленные пакеты, что бы быть уверенными что мы загружаем последние версии пакетов при установке чего-либо:
Обязательные обновления:
$ sudo apt update && sudo apt upgrade -y
Установка другой версии Python на Ubuntu трубует установки целого ряда зависимых библиотек для Python. Я честно гвооря не уверен что делает половина из этого, и скорее всего это никому из нас никогда не понадобится. Но поверьте, это необходимый шаг:
Установка зависимостей Python:
$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
Именно здесь многие могут начать установку Python с помощью Ubuntu package manager командой apt-get install python3.X. Мы скачаем и соберем последнюю версию Python из исходные кодов по нескольким причинам. Если версия Python достаточно свежая, некоторые машины под управлением Ubuntu могут не иметь обновленных зеркал что бы получить последнюю версию, но важнее всего то, что этот способ позволяет упростить управление несколькими версиями Python на Ubuntu.
Последнюю версию Python всегда можно найти на официальной странице с релизами на Python.org :
Первая ссылка на указанной странице должна называться Latest Python 3 Release - Python 3.X. Перейдя по ней необходимо прокрутить вниз страницы до секции «Files» и скопировать URL ссылки Gzipped source tarball.
На вашей Ubuntu машине необходимо теперь скачать эти исходные коды с помощью утилиты «wget». Ниже пример команд для скачивания заархивированной версии Python 3.9.2 в папку /opt и распаковка ее:
Скачивание Python:
$ cd /opt
$ sudo wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
$ sudo tar xzf Python-3.9.2.tgz
Теперь последняя версия Python скачана. После этого нам остается ее установить… правильно .
Как установить несколько версий Python Ubuntu. Pyenv – Install Multiple Python Versions for Specific Project
Managing multiple versions of Python on a Linux system is not an easy task, especially for beginners. Sometimes it even gets worse when you want to develop and run multiple projects with different Python versions on the same server. However, this shouldn’t be the case if you employ pyenv .
Read Also : How to Install Latest Python 3.6 Version in Linux
What is Pyenv?
Pyenv is a simple, powerful and cross-platform tool for managing multiple Python versions on Linux systems, that used for.
- Switching the global Python version on a per-user basis.
- setting the local Python version on per-project basis.
- Overriding the Python version with an environment variable.
- Searching commands from multiple versions of Python and more.
How Does pyenv Work?
Usually, a single default version of Python is used to run all your applications, unless you explicitly specify the version you want to use within the application. But pyenv implements a simple concept of using shims (lightweight executables) to pass your command to the correct Python version you want to use, when you have multiple versions installed.
These shims are inserted by pyenv in a directories in front of your PATH . So when you run a Python command, it is intercepted by the appropriate shim and passed to pyenv , which then establishes the Python version that has been specified by your application, and passes your commands along to the rightful Python installation. This is an overview of how pyenv operates.
In this article, we will show how to install the latest version of pyenv in Linux. We will also demonstrate the first three uses case listed above.
How to Install Pyenv in Linux
1. First install all the required packages for installing different Python versions from sources using following command on your respective Linux distribution.
------------ On Debian/Ubuntu/Linux Mint ------------ $ sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev ------------ On CentOS/RHEL ------------ # yum -y install epel-release # yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel ------------ On Fedora 22+ ------------ # yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel
2. Next, grab the the latest pyenv source tree from its Github repository and install it in$HOME/.pyenv
path using following command.
$ git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv
3. Now you need to set the environment variable PYENV_ROOT to point to the path where you installed pyenv and export it. Then add $PYENV_ROOT/bin to your PATH to run pyenv command-line utility like any other system commands.
$ vim $HOME/.bashrc
Copy and paste the following lines at the end of this file.
## pyenv configs export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi
4. Once you have made the above changes, you can either source $HOME/.bashrc file or restart the shell as shown.
$ source $HOME/.bashrc OR $ exec "$SHELL"
How to Install Multiple Python Versions in Linux
5. At this point, you should be ready to start using pyenv . Before you install any Python version, you can view all available versions with this command.
$ pyenv install -l
List Multiple Python Versions
6. You can now install multiple Python version via pyenv , for example.
$ pyenv install 3.6.4 $ pyenv install 3.6.5
Install Multiple Python Versions
7. To list all Python versions available to pyenv , run the following command. This will only show versions installed via pyenv itself.
$ pyenv versions
List Installed Python Versions
$ pyenv global
You can set the global python version using the pyenv command.
Как изменить версию Python по умолчанию Ubuntu. Переключение версии Python на Ubuntu и Debian
Инструмент командной строки update-alternatives предназначен для создания и поддержки символических ссылок для команд по умолчанию.
С его помощью мы можем легко переключать команды на разные версии.
В данном учебнике на системе Debian установлены Python3.9 и Python2.7.
Мы создадим группу для обеих команд и установим символические ссылки.
Создайте симлинк из /usr/bin/python2.7 в /usr/bin/python и задайте имя группы как “python”.
Позже имя группы будет использоваться для переключения ссылок.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
Измените ссылку симлинка /usr/bin/python3.9 на /usr/bin/python и установите имя группы на “python”.
Имя группы должно быть одинаковым для всех версий python.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 2
Вывод:
update-alternatives: using /usr/bin/python3.9 to provide /usr/bin/python (python) in auto mode
Повторите шаг 2, чтобы добавить в группу еще одну версию Python, которая уже установлена в вашей системе.
На данном этапе вы добавили два бинарника python в группу с именем “python”.
Теперь вы можете легко переключиться на любую версию с помощью следующих команд.
Здесь “python” – это имя группы, определенное в приведенных выше командах.
sudo update-alternatives --config python
Вывод:
There are 2 choices for the alternative python (providing /usr/bin/python). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/python3.9 2 auto mode * 1 /usr/bin/python2.7 1 manual mode 2 /usr/bin/python3.9 2 manual mode Press to keep the current choice, or type selection number:
В приведенном выше выводе Python 2.7 установлен в качестве текущей версии.
Чтобы изменить ее на Python 3.9, нужно ввести 0 или 2 и нажать Enter.
Вот и все.
Текущая версия Python в вашей системе изменена.
Просто введите следующую команду для просмотра корректной активной версии Python
python -V
Вывод:
Python 3.9.2
Вы можете добавить несколько версий Python в группу (Шаги: 01 и 02) и легко переключаться между ними.