简体   繁体   English

不支持Gunicorn按文件名导入(模块)

[英]Gunicorn Import by filename is not supported (module)

I have newly created a container ubuntu and installed the required packages in the virtual environment. 我新创建了一个容器ubuntu,并在虚拟环境中安装了所需的包。 Then I have executed the pre-existing python service code by python path/to/my/file/X.py (in virualenv) it's working fine. 然后我通过python path /到/ my / file / X.py(在virualenv中)执行了预先存在的python服务代码,它运行正常。 So I have executed with gunicorn as gunicorn -b 0.0.0.0:5000 path/to/my/file/X:app (in virualenv) but I'm getting the following error 所以我用枪炮作为gunicorn -b 0.0.0.0:5000路径/到/ my / file / X:app(在virualenv中)执行但是我收到以下错误

2015-11-11 16:38:08 [19118] [INFO] Starting gunicorn 17.5
2015-11-11 16:38:08 [19118] [INFO] Listening at: http://0.0.0.0:444 (19118)
2015-11-11 16:38:08 [19118] [INFO] Using worker: sync
2015-11-11 16:38:08 [19123] [INFO] Booting worker with pid: 19123
2015-11-11 16:38:08 [19123] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app
    __import__(module)
ImportError: Import by filename is not supported.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app
    __import__(module)
ImportError: Import by filename is not supported.
2015-11-11 16:38:08 [19123] [INFO] Worker exiting (pid: 19123)
2015-11-11 16:38:09 [19118] [INFO] Shutting down: Master

Can anyone help me fix the ImportError: Import by filename is not supported . 任何人都可以帮我修复ImportError: Import by filename is not supported Why it is coming? 它为什么要来? I have implemented gunicorn in other server, it is working fine there. 我在其他服务器上实现了gunicorn,它在那里工作得很好。

就像错误说的那样:你不能通过文件路径引用Python模块,你必须通过从PYTHONPATH中的目录开始的点模块路径来引用它。

gunicorn -b 0.0.0.0:5000 path.inside.virtualenv.X:app

I faced very same issue, I got it worked using --chdir /path/to/project 我遇到了同样的问题,我使用--chdir /path/to/project

gunicorn -b :5000 --chdir /path/to/project X:app

Hope this helps 希望这可以帮助

Just for the googlers, I also had this error when i accidentally ran my application using gunicorn -paste instead of gunicorn --paste. 仅仅对于googlers,当我意外地使用gunicorn -paste而不是gunicorn -paste运行我的应用程序时,我也遇到了这个错误。 gunicorn did not error, but the api.ini was not found and it threw the 'Import by filename is not supported' error. gunicorn没有错误,但是没有找到api.ini并且它抛出'不支持导入文件名'错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM