Проблема
Сервер Northeastern’s Khoury Linux заблокирован на старый Python 3.6.8. Кроме того, вам запрещено устанавливать любые пакеты Pip, такие как numpy, pandas, matplotlib или scikit-learn! 😥
Цель
Сегодня я покажу вам, как установить ЛЮБУЮ версию Python и ЛЮБЫЕ пакеты Pip на ваш личный аккаунт на сервере Khoury Linux! Я буду использовать Python 3.10.5 (последняя версия на момент написания статьи).
Мне все равно. Просто дайте мне скрипт!
Скопируйте и вставьте весь этот блок кода в терминал после входа на сервер Linux.
wget https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5+20220630-x86_64_v3-unknown-linux-gnu-install_only.tar.gz -O - | tar -xz && mv python PortablePython
python3 -venv ~/temp_venv
source ~/temp_venv/bin/activate
python3 -m pip install virtualenv
virtualenv -p=~/PortablePython/bin/python3.10 ~/Python3.10
deactivate
rm -r ~/temp_venv
if [ ! -e .bash_profile ]; then touch .bash_profile; fi;
echo alias activate="cd ~; source Python3.10/bin/activate >> .bash_profile
source .bash_profile
activate
Шаги и объяснения ниже:
1. Войдите в свою учетную запись Northeastern Khoury.
ssh <username>@login.khoury.northeastern.edu
Проверьте версию Python3
python3 --version
Вы должны увидеть python 3.6.8
, который является Python по умолчанию в Northeastern.
2. Загрузите желаемую версию Python
Поскольку мы не можем установить свежую версию Python, нам нужно использовать предварительно собранную портативную версию. К счастью, кто-то на Github уже собрал двоичные файлы для Windows, Mac и Linux.
Мы ищем:
- Python 3.10.5
- Нацеленность на Linux GNU
- x86_64 bit v3 (для Intel Haswell 2013 и выше)
wget https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5+20220630-x86_64_v3-unknown-linux-gnu-install_only.tar.gz -O - | tar -xz && mv python PortablePython
После выполнения команды wget
, введите ls
и вы должны увидеть новый каталог под названием PortablePython
. Сохраните его! Мы укажем нашей Linux-машине использовать эту версию.
3. Создайте виртуальную среду №1
Создайте временную виртуальную среду под названием temp_venv
в вашем домашнем каталоге.
python3 -venv ~/temp_venv
Активируйте эту temp_venv
.
source ~/temp_venv/bin/activate
Установите сторонний пакет virtualenv
в этот temp_venv
python3 -m pip install virtualenv
Зачем это делать? Стандартный venv
позволяет нам создавать виртуальную среду только текущей версии Python, а пакет virtualenv
позволяет нам создавать виртуальную среду ЛЮБОЙ версии Python (более старой или более новой).
4. Создание виртуальной среды №2
Создайте постоянную виртуальную среду с именем Python3.10
(или любым другим). Я рекомендую использовать короткое, описательное имя. Для простоты создайте ее в каталоге HOME.
virtualenv -p=~/PortablePython/bin/python3.10 ~/Python3.10
Деактивируйте и удалите temp_venv
.
deactivate
rm -r ~/temp_venv
Создайте команду псевдонима, чтобы мы могли указать нашей машине Linux на использование Python3.10
if [ ! -e .bash_profile ]; then touch .bash_profile; fi;
echo alias activate="cd ~; source Python3.10/bin/activate >> .bash_profile
source .bash_profile
5. Свобода!
Активируйте и деактивируйте виртуальную среду Python 3.10.5 с помощью этих двух команд
activate
deactivate
При активации вы должны увидеть новую надпись в подсказке терминала
(python3.10) -bash-4.2$
Убедитесь, что это действительно правильная версия (3.10.5)
python3 --version
Установите все, что захотите!
python3 -m pip install numpy pandas matplotlib scikit-learn
Проверка установленных пакетов pip
python3 -m pip list
Примечания
- Каждый раз, когда вы входите в систему, вы должны запускать
activate
, чтобы использовать свою собственную виртуальную среду Python. - Вам не нужно
deactivate
перед выходом из системы. Он автоматически сделает это за вас. - Не волнуйтесь, на самом деле ничего не перезаписывается в вашей учетной записи Khoury Linux, вы просто указываете ей использовать вместо этого ваш виртуальный env
Python3.10
.