我正在使用互联网发布一些API(肥皂)。 我想使用 nginx + uwsgi ,但我遇到了麻烦: 我将此输出浏览到uwsgi二进制文件提供的页面:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/ladon/server/wsgi_application.py", line 332, in __call__
self.import_services(self.service_list)
File "/usr/local/lib/python2.7/dist-packages/ladon/server/wsgi_application.py", line 288, in import_services
__import__(service)
ImportError: No module named serverL
我的CLI是:
uwsgi -s 127.0.0.1:7777 --logto ~/uwsgi.log --wsgi-file /path/scripts/handler.py
handler.py 包含:
from ladon.server.wsgi import LadonWSGIApplication
from os.path import abspath,dirname
application = LadonWSGIApplication('serverL','/path/script/src')
和/ path / script中的树:
.
├── handler.py
├── src
│ ├── serverL.py
提前致谢
答案 0 :(得分:1)
我强烈建议你花一些时间来理解PYTHONPATH / sys.path,这是python世界最重要的方面之一,但很多用户低估了它(你可以注意到它是如何最突出的原因之一)部署期间的错误。)
您的问题是python VM无法知道serverL模块的位置,因此您应该将'/ path / script / src'添加到pythonpath(您可以通过各种方式执行此操作,最快的方法是使用 - -pythonpath uWSGI选项)