пакет установки pip в той же папке, что и скрипт - PullRequest
1 голос
/ 16 июня 2020

Я использую Atom для создания Python скрипта, мой скрипт использует некоторые пакеты, такие как запросы, sendgrid и другие ..

Для установки этих пакетов я использую:

pip3 install requests

Но эта команда устанавливает этот пакет где-нибудь в windows, но мое требование - упаковать мой скрипт и эти библиотеки, чтобы использовать их как aws лямбда.

Мой вопрос: есть ли в Atom способ упаковать это с моим скриптом, или есть ли какая-либо командная строка, чтобы поместить эти библиотеки в ту же папку, что и мой скрипт, а затем я заархивирую папку? или как правильно решить эту проблему?

Ответы [ 3 ]

2 голосов
/ 16 июня 2020

Я нахожу решение в aws документации :

Я только что использовал:

$ pip install --target 'C:\path-to-project\my-project' requests
1 голос
/ 17 июня 2020

Я предполагаю, что вы хотите упаковать это, чтобы вы могли использовать пакет в лямбда-функции. Это не сработает, если у вас есть windows, потому что функция Lambda работает в контейнере linux (или иногда она может работать для чистых пакетов python).

Более устойчивый вариант - использовать что-то вроде Klayers , вы можете установить предпочтительный пакет в качестве слоя для своей функции, и он будет работать.

Другой вариант - использовать python пакет требований без сервера для бессерверный фреймворк. https://www.serverless.com/plugins/serverless-python-requirements/

0 голосов
/ 16 июня 2020

Вы должны иметь возможность использовать:

pip install --ignore-installed --install-option="--prefix=$YOUR-PATH" requests

Флаг --ignore-installed также используется для установки других зависимостей, даже если они уже установлены в папке пакетов python.

...