Python на флешке: как собрать портативную среду без установки
Такой вариант хорошо подходит, если нужно:
показать скрипт на чужом компьютере;
поработать на машине без прав администратора;
запускать Python в ограниченной среде;
держать рядом интерпретатор, проект и зависимости в одном месте.
На корпоративных ПК всё зависит от политики безопасности. Если запуск с USB, .exe или PowerShell ограничен, портативная сборка тоже может не стартовать.
Что нужно
Минимальный набор простой:
Скачиваем Python
Идём на официальную страницу загрузок Python и берём Windows embeddable package (64-bit) для нужной версии, например, python-3.14.4-embed-amd64.zip.
После распаковки вы получите что-то вроде этого:
F:\
└── python3.14\
├── python.exe
├── python314.dll
├── python314._pth
├── python314.zip
└── ...
На этом этапе интерпретатор уже можно запускать прямо с флешки.
Что делает _pth
Файл python314._pth управляет тем, какие пути Python видит при запуске. По умолчанию embeddable package изолирован от системного окружения, реестра и установленных пакетов.
Если вам нужно подключить локальные библиотеки, можно прописать пути вручную:
python314.zip
.
Lib
Lib\site-packages
import site
Строка import site нужна, чтобы Python начал использовать site-механику и подхватывать дополнительные каталоги.
Как добавить pip
У embeddable package pip обычно не идёт «из коробки» как в обычной установке.
Его можно добавить вручную через официальный bootstrap-скрипт get-pip.py.
Сценарий такой:
Скачайте get-pip.py.
Положите его рядом с python.exe.
Запустите:
PS F:\> cd ./python3.14
PS F:\python3.14> ./python get-pip.py
После этого проверьте:
./python -m pip --version
# Выведет версию pip (например, pip 26.0.1).
Ставим пакеты
Когда pip уже доступен, можно ставить нужные библиотеки:
PS F:\python3.14> ./python -m pip install numpy pandas matplotlib seaborn requests
Или сразу из requirements.txt:
PS F:\python3.14> ./python -m pip install -r requirements.txt
Запускаем проект
Чтобы не помнить длинные пути, удобно сделать run.bat в корне флешки:
@echo off
cd /d %~dp0
set PYTHON_HOME=%~dp0python3.14
set PATH=%PYTHON_HOME%;%PATH%
%PYTHON_HOME%\python.exe my_project\main.py
pause
Плюс такого подхода в том, что он не привязан к букве диска. Сегодня флешка может быть F:, а завтра D: — батник всё равно найдёт себя сам.
Типичная структура
Обычно папка на флешке выглядит так:
F:\
├── python3.14\
│ ├── python.exe
│ ├── python314.dll
│ ├── python314._pth
│ ├── python314.zip
│ └── Lib\site-packages\
├── my_project\
│ ├── main.py
│ └── requirements.txt
├── run.bat