[Python Falcon]:gunicorn 在终端工作但不在 PyCharm
[Python Falcon]: gunicorn working in terminal but not in PyCharm
我正在尝试 运行 PyCharm 中的 falcon 应用程序,以便我可以 运行 调试器。我可以从命令行启动 falcon 应用程序,但是我无法从 PyCharm.
启动它
项目结构如下:
FalconTutorial
- service
- __init__.py
- app.py
这是app.py中的代码:
import json
import falcon
class Hello:
def on_get(self, req, resp):
doc = {"message": 'Hello!'}
resp.body = json.dumps(doc, ensure_ascii=False)
resp.status = falcon.HTTP_200
application = falcon.API()
application.add_route('/hello', Hello())
为了从命令行启动应用程序,我转到 FalconTutorial 目录并运行以下内容:
source /path-to-pyenv/bin/activate && gunicorn --reload 'service.app'
服务器启动正常。但是,当我用 PyCharm 尝试同样的事情时,它不起作用。
我在 PyCharm 中使用以下内容:
Script Path: /path-to-pyenv/bin/gunicorn
Parameters: --reload 'service.app'
Python interpreter: /path-to-pyenv/bin/python
Working Directory: /Users/<username>/PycharmProjects/FalconTutorial
我收到这个错误:
ImportError:没有名为“'service”的模块
我们如何解决这个问题?
我错过了仔细查看错误消息(它在引号内有额外的 '(单引号))。
虽然在终端中添加单引号有效,但在 PyCharm 中无效。删除单引号或改用双引号。更改以下内容有效:
Parameters: --reload service.app
我正在尝试 运行 PyCharm 中的 falcon 应用程序,以便我可以 运行 调试器。我可以从命令行启动 falcon 应用程序,但是我无法从 PyCharm.
启动它项目结构如下:
FalconTutorial
- service
- __init__.py
- app.py
这是app.py中的代码:
import json
import falcon
class Hello:
def on_get(self, req, resp):
doc = {"message": 'Hello!'}
resp.body = json.dumps(doc, ensure_ascii=False)
resp.status = falcon.HTTP_200
application = falcon.API()
application.add_route('/hello', Hello())
为了从命令行启动应用程序,我转到 FalconTutorial 目录并运行以下内容:
source /path-to-pyenv/bin/activate && gunicorn --reload 'service.app'
服务器启动正常。但是,当我用 PyCharm 尝试同样的事情时,它不起作用。
我在 PyCharm 中使用以下内容:
Script Path: /path-to-pyenv/bin/gunicorn
Parameters: --reload 'service.app'
Python interpreter: /path-to-pyenv/bin/python
Working Directory: /Users/<username>/PycharmProjects/FalconTutorial
我收到这个错误: ImportError:没有名为“'service”的模块
我们如何解决这个问题?
我错过了仔细查看错误消息(它在引号内有额外的 '(单引号))。
虽然在终端中添加单引号有效,但在 PyCharm 中无效。删除单引号或改用双引号。更改以下内容有效:
Parameters: --reload service.app