无服务器:使用私有Python包作为依赖项

时间:2018-05-22 15:48:54

标签: python pip serverless-framework serverless

我有一个使用私有Git(在Github上)repo上的Python无服务器项目。

Requirements.txt文件如下所示:

itsdangerous==0.24
boto3>=1.7
git+ssh://git@github.com/company/repo.git#egg=my_alias

项目的配置主要如下所示

plugins:
  - serverless-python-requirements
  - serverless-wsgi
custom:
  wsgi:
    app: app.app
    packRequirements: false
  pythonRequirements:
    dockerizePip: true
    dockerSsh: true

使用此命令部署时:

sls deploy --aws-profile my_id --stage dev --region eu-west-1

我收到此错误:

  Command "git clone -q ssh://git@github.com/company/repo.git /tmp/pip-install-a0_8bh5a/my_alias" failed with error code 128 in None

我做错了什么?我怀疑我为Github访问配置SSH密钥的方式或无服务器包的配置。

2 个答案:

答案 0 :(得分:6)

所以我设法解决这个问题的唯一方法是

  1. 配置SSH WITH NO PASSPHRASE。按照步骤here
  2. import matplotlib.pyplot as plt from ipywidgets import interact %matplotlib inline def f(n): plt.plot([0,1,2],[0,1,n]) plt.show() interact(f,n=(0,10)) 中,我添加了以下内容:
  3. serverless.yml

    注意我添加了 custom: wsgi: app: app.app packRequirements: false pythonRequirements: dockerizePip: true dockerSsh: true dockerSshSymlink: ~/.ssh 以链接到本地​​计算机上ssh文件的位置; dockerSshSymlink

    1. ~/.ssh中,我添加了我的私人依赖:

      requirements.txt

    2. 一切正常。

答案 1 :(得分:0)

虽然没有推荐。您是否尝试过使用sudo sls deploy --aws-profile my_id --stage dev --region eu-west-1

也可以使用错误的密码或ssh密钥创建此错误。