6

Установить Python-пакет в другую директорию с помощью pip?

1

Я понимаю, что очевидный ответ заключается в использовании virtualenv и virtualenvwrapper, но по различным причинам я не могу/не хочу этого делать.

Как я могу модифицировать команду

pip install package_name

чтобы pip установил пакет не в стандартный каталог site-packages?

5 ответ(ов)

3

Вы можете использовать следующую команду для установки пакета с указанным префиксом:

pip install --install-option="--prefix=$PREFIX_PATH" package_name

Также, возможно, вы захотите использовать опцию --ignore-installed, чтобы принудительно переустановить все зависимости с использованием этого нового префикса. Вы можете использовать --install-option несколько раз, чтобы добавить любые параметры, которые вы можете использовать с командой python setup.py install (вероятно, вам больше всего подойдёт --prefix, но есть и множество других опций, которые вы можете использовать).

0

Чтобы установить пакет в определённую директорию с помощью pip, вы можете использовать следующую команду:

pip install "package_name" -t "target_dir"

Здесь флаг -t указывает на целевую директорию (target_dir), куда будет установлен пакет package_name. Если у вас еще остались вопросы или нужно больше информации, не стесняйтесь спрашивать!

0

Похоже, что никто не упомянул опцию -t, но это самый простой способ:

pip install -t <путь_к_директории> <пакет>

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

0

Чтобы установить библиотеку в определенное место, откройте терминал и перейдите в нужный каталог, после чего выполните следующую команду:

pip install mylibraryName -t .

Эта команда устанавливает библиотеку в текущий каталог (указанный точкой после -t). Логику этой команды я взял с этой страницы: https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/download.

0

Тестировал эти варианты с python3.5 и pip 9.0.3:

pip install --target /myfolder [пакеты]

Устанавливает ВСЕ пакеты, включая зависимости, в /myfolder. Не учитывает наличие зависимых пакетов, уже установленных в другом месте в Python. Вы найдете пакеты по пути /myfolder/[имя_пакета]. Если у вас установлено несколько версий Python, это не учитывается (в имени папки с пакетами нет версии Python).

pip install --prefix /myfolder [пакеты]

Проверяет, установлены ли зависимости. Пакеты будут установлены в /myfolder/lib/python3.5/site-packages/[пакеты].

pip install --root /myfolder [пакеты]

Проверяет зависимости так же, как и --prefix, но место установки будет /myfolder/usr/local/lib/python3.5/site-packages/[имя_пакета].

pip install --user [пакеты]

Устанавливает пакеты в $HOME: /home/[ПОЛЬЗОВАТЕЛЬ]/.local/lib/python3.5/site-packages. Python автоматически ищет пакеты в этом .local пути, поэтому вам не нужно добавлять его в PYTHONPATH.

⇒ В большинстве случаев --user является наилучшим вариантом. Если по какой-то причине нельзя использовать домашнюю папку, тогда стоит использовать --prefix.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь