Пакет Python в автономном режиме



3 Answers

Я использую параметр -d (или --download ) для pip install , что делает процесс загрузки sdist tarball из PyPI намного проще. Например, pip install --download /path/to/some/dir celery celery загрузит sdist tarballs для сельдерея и все его зависимости в /path/to/some/dir (но не установит их). Затем вы можете использовать pip install --no-index --find-links /path/to/some/dir/ celery для установки сельдерея с помощью загруженных sdists без доступа к сети.

Тот же самый процесс работает, если вы замените celery в обеих командах на -r requirements.txt , где requirements.txt - это файл требований к требованиям, в котором перечислены все нужные вам пакеты (и, возможно, нужные вам версии).

ОБНОВИТЬ

DEPRECATION: pip install - download устарел и будет удален в будущем. Теперь у Pip теперь есть команда download которая должна использоваться вместо этого.

Команда такова:
pip download -r requirements.txt

Для python3:
pip3 download -r requirements.txt

python pip freebsd easy-install python-requests

Каков наилучший способ загрузки пакета python и его зависимостей от pypi для автономной установки на другой машине? Есть ли простой способ сделать это с помощью pip или easy_install? Я пытаюсь установить библиотеку запросов в поле FreeBSD, которое не подключено к Интернету.




offline python. для этого я использую virtualenv (изолированная среда Python)

1) установить virtualenv онлайн с помощью pip:

pip install virtualenv --user

или офлайн с whl: перейдите по этой link , загрузите последнюю версию (.whl или tar.gz) и установите это с помощью этой команды:

pip install virtualenv-15.1.0-py2.py3-none-any.whl --user

с помощью --user вам не нужно использовать sudo pip…

2) использовать virtualenv

на онлайн-машине выберите каталог с терминалом cd и запустите этот код:

python -m virtualenv myenv
cd myenv
source bin/activate
pip install Flask

после установки всех пакетов вам необходимо создать файл requirements.txt так что, пока ваш virtualenv активен, напишите

pip freeze > requirements.txt

открыть новый терминал и создать еще один env как myenv2 .

python -m virtualenv myenv2
cd myenv2
source bin/activate
cd -
ls

теперь вы можете перейти в свою автономную папку, где tranferred_packages папка requirements.txt и tranferred_packages . загрузите пакеты со следующим кодом и поместите их в папку tranferred_packages .

pip download -r requirements.txt

возьмите свою автономную папку на автономный компьютер, а затем

python -m virtualenv myenv2
cd myenv2
source bin/activate
cd -
cd offline
pip install --no-index --find-links="./tranferred_packages" -r requirements.txt

что находится в папке offline [requirements.txt, tranferred_packages {Flask-0.10.1.tar.gz, ...}]

проверить список вашего пакета

pip list

примечание: как и в 2017 году, лучше использовать python 3. вы можете создать python 3 virtualenv с помощью этой команды.

virtualenv -p python3 envname



Использование пакетов, скомпилированных с помощью wheel .

расслоение:

$ tempdir=$(mktemp -d /tmp/wheelhouse-XXXXX)
$ pip wheel -r requirements.txt --wheel-dir=$tempdir
$ cwd=`pwd`
$ (cd "$tempdir"; tar -cjvf "$cwd/bundled.tar.bz2" *)

скопировать архив и установить:

$ tempdir=$(mktemp -d /tmp/wheelhouse-XXXXX)
$ (cd $tempdir; tar -xvf /path/to/bundled.tar.bz2)
$ pip install --force-reinstall --ignore-installed --upgrade --no-index --no-deps $tempdir/*

Бинарные пакеты с wheel заметок не связаны с машинами.

Дополнительная ссылка. здесь: https://pip.pypa.io/en/stable/user_guide/#installation-bundles






Related