Сбой при бессерверном развертывании Pip-файла — успешный запуск вручную

#python #pip #serverless-framework #serverless

#python #pip #безсерверный фреймворк #безсерверное

Вопрос:

Я написал бессерверное приложение на Python.

У меня есть requirements.txt файл, который выглядит как:

 git https://github.com/Blah1/blah2@1.0#egg=blah3
oauth2==1.9.0.post1
  

Когда я запускаю sls deploy или sudo sls deploy , он завершается с ошибкой, говоря:

Command "git clone -q https://github.com/Blah1/blah2.git /tmp/pip-install-jxs9quvp/blah2" failed with error code 128 in None

Я пытался перейти на ssh — та же ошибка.

Я пытался загрузить его вручную — работает нормально.

Я попытался изменить команду, чтобы использовать локальные файлы, которые я загрузил, и

в зависимости от настройки:

  • Сбой с той же error code 128 in None ошибкой
  • Сбой с другой ошибкой, в которой говорится, что не удается найти файл, хотя я проверил path и

Комментарии:

1. Я думаю, что это прерывается, потому что вы используете # символ. Похоже, это используется для проверки заданных хэшей . Работает ли для вас следующее? pip install git https://github.com/Blah1/blah2@1.0#egg=blah3

2. @feliks спасибо за идею — по общему признанию, нет, что verbatim не работает в командной строке. Но у меня есть куча других приложений, которые используют аналогичный формат в своих requirements.txt , и это работает нормально. Просто для развлечения я удалил #egg=blah3 часть, и она по-прежнему завершалась с той же ошибкой.

3. pip install 'git https://github.com/Blah1/blah2@1.0#egg=blah3' Работает ли тогда? (Обратите внимание на ' ы)

4. @feliks, в командной строке это действительно работает. В requirements.txt это не так.