Работа с Python и его окружением на примере VLLM

Первым делом нужно усвоить разницу между обычным пользователем, админом и сервисной учетной записью. Также важно понимать назначение команды sudo - не используйте ее бездумно для обхода ограничений доступа.

Работайте в своем окружении. Под “своим” имеется ввиду окружение в вашей домашней папке (либо папке сервисной учетки). То же самое - работая под админом, не создавайте файлов в местах, где работают обычные пользователи.

Для Python нужно создавать виртуальное окружение. Это применимо как для работы в IDE (PyCharm), так и в шелле.

Устанавливая модули, вы можете столкнуться с проблемой:

pip install vllm

ответ:

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

Ошибка говорит о том, что вам следует использовать не системный Python (не используйте sudo для решения проблемы). Вам предлагается попробовать установить пакет python3-xyz, но я бы не стал этого делать. Вместо этого сначала убедитесь, что в вашей системе установлен пакет python3-full:

sudo apt install python3-full

Затем создайте виртуальное окружение (это скопирует системные модули питона в указанную вами папку и доустановка позднее будет проводиться в нее):

python3 -m venv /home/di/.venv

После этого запускайте питон из виртуального окружения:

# проверка версии
~/.venv/bin/python3 --version
Python 3.12.3

Теперь вы можете вернуться к установке модуля:

~/.venv/bin/pip install torch
~/.venv/bin/pip install vllm

Тут может быть пауза из-за ошибок, например ModuleNotFoundError: No module named 'torch'. В таком случае удалите ~/.venv, обновите пакеты ОС, обновите pip ~/.venv/bin/pip install --upgrade pip и создайте заново ~/.venv

Если ваш Python оказался слишком новым для VLLM (а это уже другая тема), то используйте актуальную инструкцию для продукта Installation — vLLM

ожидайте окончания:

...

Downloading gguf-0.17.1-py3-none-any.whl (96 kB)
Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
Downloading h11-0.16.0-py3-none-any.whl (37 kB)
Downloading huggingface_hub-0.33.1-py3-none-any.whl (515 kB)
Downloading hf_xet-1.1.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 3.8 MB/s eta 0:00:00
Downloading fsspec-2025.5.1-py3-none-any.whl (199 kB)
Downloading interegular-0.3.3-py37-none-any.whl (23 kB)
Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
Downloading MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)
Downloading mistral_common-1.6.2-py3-none-any.whl (6.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5/6.5 MB 3.5 MB/s eta 0:00:00
Downloading jsonschema-4.24.0-py3-none-any.whl (88 kB)
Downloading attrs-25.3.0-py3-none-any.whl (63 kB)
Downloading jsonschema_specifications-2025.4.1-py3-none-any.whl (18 kB)
Downloading openai-1.91.0-py3-none-any.whl (735 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 735.8/735.8 kB 2.9 MB/s eta 0:00:00
Downloading distro-1.9.0-py3-none-any.whl (20 kB)
Downloading jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (352 kB)
Downloading typing_extensions-4.14.0-py3-none-any.whl (43 kB)
Downloading opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.0 MB)
   ━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.2/50.0 MB 2.6 MB/s eta 0:00:14