- Работа с разными версиями python3 в AstraLinux CommonEdition
- 2 ответа 2
- Installing pip/setuptools/wheel with Linux Package Managers¶
- Fedora¶
- CentOS/RHEL¶
- openSUSE¶
- Debian/Ubuntu and derivatives¶
- Arch Linux¶
- Table of Contents
- Previous topic
- Next topic
- Navigation
- Как установить PIP для управления пакетами Python в Linux?
- Установка PIP в системах Linux
Работа с разными версиями python3 в AstraLinux CommonEdition
В AstraLinux изначально установлен python3.5. Версию 3.7 установил с помощью менеджера пакетов Synaptic. Имеется простой код на языке python с библиотекой PyQt5:
from PyQt5 import QtWidgets import sys app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget() window.show() sys.exit(app.exec_())
Если запустить файл с исходным кодом так: python3.5 test.py — всё работает. Если же я запускаю python3.7 test.py — в консоли выводится такая надпись: ImportError: cannot import name ‘QtWidgets’ from ‘PyQt5’ (/usr/lib/python3/dist-packages/PyQt5/init.py) Как сделать так, чтобы версия python3.7 смогла увидеть установленные пакеты и библиотеки? Пробовал работу с командой update-alternatives, назначал приоритеты, но проблему это не решило.
Самый простой вариант, ИМХО, — сделайте себе venv в python 3.7, установите в него все необходимые пакеты и работайте в созданном venv.
Во время создания виртуального окружения python3.7 -m venv venv сообщение: The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt-get install python3-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment. Failing command: [‘/home/adminus/Документы/venv/bin/python3.7’, ‘-Im’, ‘ensurepip’, ‘—upgrade’, ‘—default-pip’]
Если вы установили более новый пайтон из пакетов, то соответствующий venv , скорее всего, называется python3.7-venv
проверил этот вариант: Уже установлен пакет python3.7-venv самой новой версии (3.7.3-2+deb10u3+ci202107011746+astra2).
2 ответа 2
Проблему с созданием окружения для Python3.7 в AstraLinux решил созданием окружения без модуля pip , но доступом к системным пакетам,
где pip есть:
python3.7 –m venv —without-pip —system-site-packages
Установка модулей из активированного окружения:
python3 –m pip install
Если вы установили более новый пайтон из пакетов, то соответствующий venv , скорее всего, называется python3.7-venv
С развёртыванием виртуального окружения есть одна тонкость. venv делает копию установки python , собранной саппортерами из дистрибутива. Но они всегда на несколько поколений позади актуальных версий. Поэтому перед практическим использованием venv необходимо обновить системные пакеты.
Я покажу на примере python-3.8 , который стоит у меня в Ubuntu, но у вас последовательность шагов будет точно такой же.
- Создать виртуальное окружение: $ /usr/bin/python-3.8 -m venv ~/tmp/venv-3.8
- Активировать это окружение в текущем сеансе bash : $ source ~/tmp/venv-3.8/bin/activate По этой команде в текущем сеансе будут прописаны переменные окружения, указывающие на бинарники, библиотеки и пакеты в каталоге ~/tmp/venv-3.8/
- Для проверки: (venv-3.8) $ which python3 -> /home/user/tmp/venv-3.8/bin/python3 Обратите внимание, что activate изменил строку приглашения в bash , добавив в неё указание, что в текущем сеансе активно виртуальное окружение.
- Первым делом нужно обновить pip и setuptools : (venv-3.8) $ pip3 install pip setuptools —upgrade Не знаю, как у вас в Астре, а у меня в Убунте в пакетах идёт совершенно допотопный pip версии 9. Текущий pip версии 21.2. setuptools апгрейдятся с версии 39 до 58.
- Теперь можно устанавливать pyqt5 и все остальные пакеты, необходимые вам. Устанавливать через pip ! не через пакеты дистрибутива: (venv-3.8) $ pip3 install pyqt5
- После установки всех пакетов запускаете ваш скрипт в активированном окружении: (venv-3.8) $ python3 test.py
- Если вам нужно отменить изменения переменных окружения, внесённые скриптом activate , выполните команду (venv-3.8) $ deactivate и все исходные настройки вернутся.
Для 3.6 вы можете создать такое же окружение в отдельной папке, и выполнять test.py , активировав его. Так вы полностью разделите пакеты между версиями пайтона.
Пустое виртуальное окружение весит меньше 10 Мб, но, разумеется, по мере установки пакетов, будет раздуваться. Например, у меня установлены numpy , scipy , pandas , matplotlib , tensorflow , jupyter — размер venv почти 1.8 гб.
Installing pip/setuptools/wheel with Linux Package Managers¶
This section covers how to install pip , setuptools , and wheel using Linux package managers.
If you’re using a Python that was downloaded from python.org, then this section does not apply. See the Requirements for Installing Packages section instead.
Note that it’s common for the versions of pip , setuptools , and wheel supported by a specific Linux Distribution to be outdated by the time it’s released to the public, and updates generally only occur for security reasons, not for feature updates. For certain Distributions, there are additional repositories that can be enabled to provide newer versions. The repositories we know about are explained below.
Also note that it’s somewhat common for Distributions to apply patches for the sake of security and normalization to their own standards. In some cases, this can lead to bugs or unexpected behaviors that vary from the original unpatched versions. When this is known, we will make note of it below.
Fedora¶
sudo dnf install python3-pip python3-wheel
To learn more about Python in Fedora, please visit the official Fedora docs, Python Classroom or Fedora Loves Python.
CentOS/RHEL¶
CentOS and RHEL don’t offer pip or wheel in their core repositories, although setuptools is installed by default.
To install pip and wheel for the system Python, there are two options:
- Enable the EPEL repository using these instructions. On EPEL 7, you can install pip and wheel like so:
sudo dnf install python3-pip python3-wheel
sudo dnf install python3-pip python3-wheel
sudo dnf upgrade python3-setuptools
To install pip, wheel, and setuptools, in a parallel, non-system environment (using yum) then there are two options:
- Use the “Software Collections” feature to enable a parallel collection that includes pip, setuptools, and wheel.
- For Redhat, see here: https://developers.redhat.com/products/softwarecollections/overview
- For CentOS, see here: https://github.com/sclorg
Be aware that collections may not contain the most recent versions.
sudo yum install python34u python34u-wheel
openSUSE¶
sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu and derivatives¶
Firstly, update and refresh repository lists by running this command:
sudo apt update sudo apt install python3-venv python3-pip
Recent Debian/Ubuntu versions have modified pip to use the “User Scheme” by default, which is a significant behavior change that can be surprising to some users.
Arch Linux¶
Currently, there is no “copr” yum plugin available for CentOS/RHEL, so the only option is to manually place the repo files as described.
Table of Contents
- An Overview of Packaging for Python
- The Packaging Flow
- Tutorials
- Guides
- Installing packages using pip and virtual environments
- Installing stand alone command line tools
- Installing pip/setuptools/wheel with Linux Package Managers
- Installing scientific packages
- Package index mirrors and caches
- Hosting your own simple repository
- Packaging and distributing projects
- Including files in source distributions with MANIFEST.in
- Single-sourcing the package version
- Dropping support for older Python versions
- Packaging binary extensions
- Packaging namespace packages
- Creating and discovering plugins
- Using TestPyPI
- Making a PyPI-friendly README
- Publishing package distribution releases using GitHub Actions CI/CD workflows
- Tool recommendations
- Analyzing PyPI package downloads
Previous topic
Next topic
Navigation
© Copyright 2013–2020, PyPA.
This page is licensed under the Python Software Foundation License Version 2.
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.The Python Software Foundation is a non-profit corporation. Please donate.
Last updated on Jun 16, 2023. Found a bug?
Created using Sphinx 4.5.0.Как установить PIP для управления пакетами Python в Linux?
Pip (рекурсивная аббревиатура от «Pip Installs Packages» или «Pip Installs Python») — это кроссплатформенный менеджер пакетов для установки и управления пакетами Python (который можно найти в индексе пакетов Python (PyPI)), который поставляется с Python 2>= 2.7.9 или Python 3>= 3.4 двоичные файлы, которые загружаются с python.org.
В этой статье мы расскажем, как установить PIP в основных дистрибутивах Linux.
Примечание. Мы будем запускать все команды от имени пользователя root. Если вы управляете своей системой как обычный пользователь, то используйте команду sudo для получения привилегий root или вы также можете настроить систему для запуска команды sudo без ввода пароля, это возможно.
Установка PIP в системах Linux
Чтобы установить pip в Linux, выполните соответствующую команду для вашего дистрибутива следующим образом:
Установка PIP в Debian/Ubuntu
Установка PIP на CentOS и RHEL
К сожалению, pip не упакован в официальные программные репозитории CentOS/RHEL. Поэтому вам нужно включить репозиторий EPEL, а затем установить его следующим образом: