在Ubuntu中的conda环境下运行gunicorn

4
我正在尝试在运行Ubuntu的EC2实例上部署Flask应用程序。我已经设置好了我的WSGI文件,但在运行gunicorn时遇到了一些问题。起初,我使用命令sudo apt-get install gunicorn安装了gunicorn。然而,它使用了错误版本的Python,并对我Flask应用程序所使用的每个模块抛出了导入错误。我确定这是因为我使用conda作为环境管理器,并且因为使用apt-get安装将gunicorn放置在虚拟环境之外。所以,我通过命令sudo apt-get purge gunicorn卸载了gunicorn,然后通过命令conda install gunicorn重新安装了它。现在,当我运行gunicorn时(gunicorn --bind 0.0.0.0:8000 wsgi:app),我没有得到一个50行的回溯。然而,我得到了以下错误:-bash:/usr/bin/gunicorn: No such file or directory。我尝试使用pip卸载gunicorn并重新安装,但仍然遇到同样的错误。我尝试在Google和StackOverflow上搜索解决方案,但我发现我应该在虚拟环境内安装gunicorn才能克服此错误(我相信我已经在这样做了)。我猜想这个问题有一个简单的解决方法,问题与我的能力有关,而不是conda或其他原因。任何建议将不胜感激。谢谢。
1个回答

6
所以,我是对的 - 问题完全与我的无能有关。然而,我不打算删除这个问题,相反,我会自己回答它,并将其保留在这里,以防将来的初学者开发人员遇到同样的问题。问题是,我在错误的目录中运行了 gunicorn --bind 0.0.0.0:8000 wsgi:app。当我使用 cd 进入包含 wsgi.py 的目录后,gunicorn 就可以正常工作了。教训是:必须在包含 wsgi.py 的目录中运行 gunicorn。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接