【发布时间】:2017-05-20 02:20:36
【问题描述】:
尝试使用 hello world 应用运行 gunicorn。
这是我的项目目录结构
Project
|_ config
| |_ ___init__.py
| |_ settings.py
|
|_ instance
| |_settings.py_production
|
|_ site
| |_ __init__.py
| |_ app.py
|
|_ .env
|_ docker-compose.yml
|_ Dockerfile
|_ requirements.txt
我在 docker 容器中运行它,但是当我以交互模式进入容器时,会发生相同的行为。
当目录命名为site 并运行命令gunicorn -b 0.0.0.0:8000 --access-logfile - "site.app:create_app()" 时,我收到错误ImportError: No module name app。但是,如果我将目录命名为 foo、snakeeyes 或 blah,我不会收到错误消息,并且应用程序会按预期运行。是否有一个原因?目录不能命名为站点吗? python中是否还有其他限制目录名称?
【问题讨论】:
-
你不应该把你的模块称为 Python 标准库中的任何模块,因为这取决于模块导入路径的顺序,你会得到错误的。