gpt4 book ai didi

python - EC2 Amazon Beanstalk 上的 django-admin.py 和 python 路径

转载 作者:太空狗 更新时间:2023-10-29 16:58:18 25 4
gpt4 key购买 nike

我在 Elastic Benastalk 上部署了我的 django 应用程序,但我的命令失败了,我认为问题是 django-admin.py 不在 $PYTHONPATH 中,我想添加我的app 添加到 python 路径,但我不知道 EC2 实例上的确切路径是什么。实际上我是在下面找到它的:/opt/python/bundle/3/app(我通过 SSH 使用了“find”命令)……但这是一条固定可靠的路径吗?ps:WTF 是那个“3”?? (肯定不是我部署的版本或数量 ^_^)

更新:

如果我 cd 到 /opt/python/bundle/3/app/myappname 并运行:

python manage.py shell

我得到:

  File "manage.py", line 3, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

已解决!

Amazon Beanstalk 使用 virtualenv(就像我在本地做的一样),为了激活它,您必须:

source /opt/python/run/venv/bin/activate
cd /opt/python/current/app
python manage.py commandname

但是,为了使用自定义管理命令(这就是我需要访问我的 EC2 实例上的 django shell 的原因),您必须将您的应用程序添加到 python 路径以及您的应用程序使用的所有环境变量,所以我做了:

vi /home/ec2-user/.bash_profile

并添加:

export PYTHONPATH=$PYTHONPATH:/opt/python/current/app

和我的 env 变量...现在可以使用了! :)

为了自动激活 virtualenv 并能够在通过 ssh 登录后立即使用 django shell,是否可以添加:

source /opt/python/run/venv/bin/activate
cd /opt/python/current/app

在 .bash_profile :)

最佳答案

如果您需要更改 PYTHONPATH,或者一般设置任何环境变量,您可以添加一个option_name

在您的 .ebextensions/myapp-env.config 文件中(或任何您的 *.config 名称):

option_settings:
- option_name: PYTHONPATH
value: /opt/python/ondeck/app/myapp:$PYTHONPATH

关于python - EC2 Amazon Beanstalk 上的 django-admin.py 和 python 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21764319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com