Установить пакет python в текущий каталог

Я пользователь Mac, раньше запускал pip install с --user, но недавно после brew update я обнаружил, что есть некоторые странные вещи, возможно связанные.

Что бы я ни пытался, пакеты всегда устанавливаются на ~/Library/Python/2.7/lib/python/site-packages

Вот команды, которые я выполняю.

$ python -m site --user-site
~/Library/Python/2.7/lib/python/site-packages

$ pip install --user -r requirements.txt

$ PYTHONUSERBASE=. pip install --user -r requirements.txt

Так в чем должна быть проблема?

Я использовал для упаковки лямбда-молнии

Обновления:

Если вы используете Mac OS X и у вас установлен Python с помощью Homebrew (см. Homebrew), предыдущая команда не будет работать. Простое решение - добавить файл setup.cfg в ваш / path / to / project-dir со следующим содержимым.

[install]
prefix=

https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

Есть ли причина, по которой вы не используете virtualenv?

tripleee 08.10.2018 06:57

Куда вы хотите установить файлы? Разве ~/Library/Python/2.7/lib/python/site-packages уже не зависит от пользователя?

FlyingTeller 08.10.2018 07:01

Как я уже объяснил, я установил для упаковки лямбда-zip. Их нужно установить в текущий каталог и заархивировать вместе с лямбда-функциями.

Bill 08.10.2018 07:41
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
15
3
23 643
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать целевой (t) флаг pip install, чтобы указать целевое расположение для установки.

В использовании:

pip install -r requirements.txt -t /path/to/directory

в текущий каталог:

pip install -r requirements.txt -t .

Спасибо, это ошибка, которую я получил DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both при запуске вашей команды

Bill 08.10.2018 07:39

может быть связано с этим: stackoverflow.com/questions/24257803/…

Bill 08.10.2018 07:43

Хорошо, указанный выше URL-адрес исправляет ошибку DistutilsOptionError, теперь я могу установить пакет локально.

Bill 08.10.2018 07:44

Это работает везде.

Rakibul Hassan 30.01.2021 13:22

Другие вопросы по теме