首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash: /python/run/venv/bin/activate:没有这样的文件或目录

bash: /python/run/venv/bin/activate:没有这样的文件或目录
EN

Stack Overflow用户
提问于 2020-06-20 02:59:02
回答 2查看 1.6K关注 0票数 0

我正在尝试通过AWS elastic beanstalk部署我的django应用程序,我在过去的两天里遇到了一个问题,我已经进一步缩小了范围。

部署过程中的某个命令失败,此命令如下所示:

代码语言:javascript
复制
container_commands:
  01_migrate:
    command: "python3 manage.py migrate"
    leader_only: true

AWS EB控制台日志中告诉我这一点的部分将我引向cfn-init.log,检查这一点也会告诉我同样的情况。然而,在cfn-init-cmd.log中,我看到了以下内容

代码语言:javascript
复制
2020-06-19 18:24:24,753 P5019 [INFO] Command 01_migrate
2020-06-19 18:24:24,771 P5019 [INFO] -----------------------Command Output-----------------------
2020-06-19 18:24:24,771 P5019 [INFO]    Traceback (most recent call last):
2020-06-19 18:24:24,771 P5019 [INFO]      File "manage.py", line 10, in main
2020-06-19 18:24:24,771 P5019 [INFO]        from django.core.management import execute_from_command_line
2020-06-19 18:24:24,771 P5019 [INFO]    ModuleNotFoundError: No module named 'django'
2020-06-19 18:24:24,771 P5019 [INFO]
2020-06-19 18:24:24,771 P5019 [INFO]    The above exception was the direct cause of the following exception:
2020-06-19 18:24:24,771 P5019 [INFO]
2020-06-19 18:24:24,772 P5019 [INFO]    Traceback (most recent call last):
2020-06-19 18:24:24,772 P5019 [INFO]      File "manage.py", line 21, in <module>
2020-06-19 18:24:24,772 P5019 [INFO]        main()
2020-06-19 18:24:24,772 P5019 [INFO]      File "manage.py", line 16, in main
2020-06-19 18:24:24,772 P5019 [INFO]        ) from exc
2020-06-19 18:24:24,772 P5019 [INFO]    ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

这让我相信问题出在我的虚拟环境无法激活。网上的一些研究告诉我激活venv的命令应该是

代码语言:javascript
复制
opt/python/run/venv/bin/activate

我试着通过eb ssh激活它,但没有成功,得到了这个消息

代码语言:javascript
复制
bash: opt/python/run/venv/bin/activate: No such file or directory

当我检查opt目录时,这是因为缺少python文件夹,我不知道为什么虚拟环境不在那里/不能被激活,任何帮助都将不胜感激

编辑-目录结构:父目录- django微博

.ebextensions -

djangmicroblog -

djangoportfolio (本地虚拟文件夹)-

EN

回答 2

Stack Overflow用户

发布于 2020-06-22 19:12:40

事实证明,我的应用程序是为amazon linux 1和amazon linux 2的混合构建的,环境是amazon linux 2。

我不得不将我的环境降级到AL1 Python3.6,并将应用程序中的一些设置恢复为AL1 (例如wsgi path)

它现在已经启动并运行了:)

票数 2
EN

Stack Overflow用户

发布于 2020-06-20 04:41:14

试试这个:

代码语言:javascript
复制
container_commands:
  01_migrate:
    command: "/opt/python/run/venv/bin/python3 manage.py migrate"
    leader_only: true

不要想“激活它”,只需从venv运行python即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62476893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档