Менеджери пакетів - на рівні користувача
Для менеджера пакетів, який може встановлювати та керувати декількома версіями python, це хороший вибір:
- pyenv - здатний лише встановлювати та керувати версіями python
- asdf - здатний встановлювати та керувати різними мовами
Перевагами цих менеджерів пакетів є те, що може бути простіше встановити їх і встановити з ними кілька версій python, ніж встановити python з джерела. Вони також надають команди для легкої зміни доступних версій python за допомогою перекладок та встановлення версії python для кожного каталогу.
Цей недолік полягає в тому, що за замовчуванням вони встановлюються на рівні користувача (всередині вашої домашньої директорії) і вимагають трохи конфігурації на рівні користувача - вам потрібно буде відредагувати ваш ~/.profileта ~/.bashrcподібні файли. Це означає, що непросто використовувати їх для глобальної установки декількох версій python для всіх користувачів. Для цього ви можете встановити з джерела поряд із наявною версією Python в ОС.
Встановлення з джерела - загальносистемне
Для цього методу вам знадобляться права root.
Додаткові міркування та параметри див. В офіційній документації python для побудови з джерела .
/usr/localє призначеним місцем для системного адміністратора для встановлення спільного (загальносистемного) програмного забезпечення, тому його підкаталоги є гарним місцем для завантаження джерела python та встановлення. Див. Розділ 4.9 стандарту ієрархії файлів Linux Foundation .
Встановіть будь-які залежності збірки. У системах на базі Debian використовуйте:
apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
Виберіть, яку версію python ви хочете встановити. Дивіться Python Релізи початкових кодів сторінку для лістингу.
Завантажте та розпакуйте файл /usr/local/src, замінивши X.X.Xнижче версію python (тобто 3.8.2).
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
Перш ніж будувати та встановлювати, встановіть CFLAGSзмінну середовища необхідними прапорами компілятора C (див. makeДокументацію GNU ). Зазвичай це не потрібно для загального користування, але якщо, наприклад, ви збиралися створити плагін uWSGI з цією версією python, можливо, ви захочете встановити прапори -fPICз наступним:
export CFLAGS='-fPIC'
Змініть робочий каталог на розпакований вихідний каталог python та налаштуйте збірку. Можливо, ви захочете використовувати --enable-optimizationsопцію в ./configureкоманді для оптимізації керованого профілю . Використовуйте --prefix=/usr/localдля установки в відповідні підкаталоги ( /usr/local/bin, /usr/local/libі т.д.).
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
Створіть проект за допомогою makeта встановіть за допомогою, make altinstallщоб уникнути перевизначення будь-яких файлів при встановленні декількох версій. Див. Попередження на цій сторінці документації збірки python.
make -j 4
make altinstall
Тоді ви зможете запускати нові версії python та pip за допомогою pythonX.Xі pipX.X(тобто python3.8і pip3.8). Зверніть увагу, що якщо незначна версія вашої нової інсталяції збігається з версією ОС (наприклад, якщо ви встановлювали python3.8.4, а ОС використовувала python3.8.2), вам потрібно буде вказати весь шлях ( /usr/local/bin/pythonX.X) або встановити псевдонім для використання цієї версії.