簡體   English   中英

AWS Elastic Beanstalk 中的 Python:私有 package 依賴項

[英]Python in AWS Elastic Beanstalk: Private package dependencies

我想在 beanstalk 上部署一個 Python Flask 應用程序。

應用程序依賴於外部包(例如geopy )和內部包(例如adam_geography )。

手冊

創建一個 requirements.txt 文件並將其放在源包的頂級目錄中。

這可能會獲取geopy及其依賴項,但不會獲取可從我的 VPC 中的自定義存儲庫獲得的adam_geography

如何在 Beanstalk 應用程序中指定/上傳私有的內部 Python package 依賴項?

1) 將內部 Python package 復制到服務器

2) 使用 Pip 的“可編輯安裝”功能安裝私有 package:

pip install -e path/to/SomeProject

http://pip.readthedocs.org/en/latest/reference/pip_install.html#editable-installs

使用 ebextensions 指定可用於在所有 EC2 實例上下載文件的自定義命令。 這些 ebextensions 可用於運行 pip 就像@shavenwarthog 在他的回答中建議的那樣。 在您的應用程序源根目錄中創建一個名為.ebextensions的目錄。 在此目錄中創建一個擴展名為.config的文件,例如01-custom-files.config 此文件可以包含您要在每個 EC2 實例上運行的自定義 unix 命令。 您可以在此處運行自己的腳本。

您還可以使用在 EC2 實例上解壓縮應用程序源后執行的 container_commands。

在此處閱讀有關命令和 container_commands 的更多信息。 您還可以在此處找到示例:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-commands

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-container_commands

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM