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

最佳答案

所以,我是对的-问题完全与我自己的无能有关。不过,我不会自己删除这个问题,而是自己回答这个问题,并留在此处,以防将来任何新兴的开发人员遇到相同的问题。事实证明,问题是我在错误的目录中运行gunicorn --bind 0.0.0.0:8000 wsgi:app。当我cd进入包含wsgi.py的目录后,gunicorn正常工作。要点:gunicorn必须在包含wsgi.py的目录中运行。

关于python - 在conda环境中在Ubuntu上运行gunicorn,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43809618/

10-15 17:43