如何使用aws eb控制台在aws beanstalk上为python2.7.14程序创建环境应用程序?

2024-04-19 07:45:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我对AWS和MacOS都是全新的。但是,我正在尝试在aws beanstalk中创建简单的python应用程序。我让他们的默认演示应用程序(在创建环境/应用程序时作为选项提供的应用程序)正常工作。我遵循了tutorial,代码在本地工作(python2.7.14)。你知道吗

但是当我上传这个的时候应用程序.py以及要求.txt通过zip,当我加载应用程序url时,编译后的应用程序显示运行状况“正常”,但显示“内部服务器错误”。你知道吗

我不知道如何调试,甚至不知道调试什么,因为代码非常简单:这主要是一个不兼容的环境问题。你知道吗

所以,我到处寻找如何使我的AWSEB环境成为python2.7,而不是它给我的python3.4,对于预配置的docker python和预配置的python平台。你知道吗

我很困惑。如何使我的AWSEB环境/应用程序成为python2.7.14,即我在本地使用并且运行良好的环境/应用程序?你知道吗

作为参考,以下是我的代码:

from flask import Flask

# print a nice greeting.
def say_hello(username = "World"):
    return '<p>Hello %s!</p>\n' % username

# some bits of text for the page.
header_text = '''
    <html>\n<head> <title>EB Flask Test</title> </head>\n<body>'''
instructions = '''
    <p><em>Hint</em>: This is a RESTful web service! Append a username
    to the URL (for example: <code>/Thelonious</code>) to say hello to
    someone specific.</p>\n'''
home_link = '<p><a href="/">Back</a></p>\n'
footer_text = '</body>\n</html>'

# EB looks for an 'application' callable by default.
application = Flask(__name__)

# add a rule for the index page.
application.add_url_rule('/', 'index', (lambda: header_text +
    say_hello() + instructions + footer_text))

# add a rule when the page is accessed with a name appended to the site
# URL.
application.add_url_rule('/<username>', 'hello', (lambda username:
    header_text + say_hello(username) + home_link + footer_text))

# run the app.
if __name__ == "__main__":
    # Setting debug to True enables debug output. This line should be
    # removed before deploying a production app.
    application.debug = True
    application.run()

你知道吗要求.txt你知道吗

click==6.7
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
Werkzeug==0.14.1

我在安装AWSEB cli时遇到路径问题-因此请将您的答案限制为使用控制台。非常感谢。你知道吗


Tags: theto代码textadd应用程序urlflask
1条回答
网友
1楼 · 发布于 2024-04-19 07:45:32

如果您的应用程序需要不同版本的平台,则需要指定使用elastic beanstalk提供的机制,即通过配置yml文件。你需要创建一个配置yml将环境/平台要求归档,并将该文件放在应用程序基本文件夹的.elasticbeanstalk文件夹下。你知道吗

你可以看到配置yml设置和格式化here

还有很多supported platforms。你知道吗

how do I make my aws eb environment/application a python2.7.14

基于上述文档,您需要在中指定以下内容配置yml文件:

global: default_platform: 64bit Amazon Linux 2018.03 v2.7.1 running Python 2.7

不同的配置文件有助于自定义EB config/环境。更多here

相关问题 更多 >