我需要一个名为qrcode的非标准App Engine包 . 它是纯粹的python lib,仅依赖于App引擎支持的PIL .
我的文件夹结构是:
app
|--- handlers/
|------ my_handler.py
|--- util/
|------ __init__.py
|------ qrcode/
|--------- __init__.py
|--------- qrcode/
|------------ __init__.py
|------------ other lib files
|--- index.py
在 index.py
我映射到 my_handler.py
并在 my_handler.py
上我在其中一个处理程序类的get方法中调用了 from util.qrcode import qrcode
. 问题是我在 __init__.py
文件上得到 ImportError: No module named qrcode.main
.
__init__.py:
from qrcode.main import QRCode, make
from qrcode.constants import *
from qrcode import image
qrcode.main
是 qrcode
包中的一个.py文件(要查看整个包,请检查存储库链接here)
我已经看了,我找不到有什么问题 . 我很感激你的帮助 . 谢谢!
我搜索的其他问题:
AppEngine server cannot import atom module
Import custom package in python google app engine
Importing nested modules in Python
2 回答
Python路径将包含app.yaml所在的目录 . 如果那是你的
app
模块所在的地方,那么你应该使用绝对导入:由于某种原因(我不知道自己的名字 . 为了使它工作,我必须删除包文件上所有对 qrcode 的引用 . 我的新
__init__.py
导入成为:所有.py文件的导入都需要更改,我必须在
app.yaml
中包含PIL
(之前我忘记了,但从来没有足够面对这个错误= P) .到现在为止我仍然无法生成图像,但我没有更多的导入错误,所以我想这个问题已经回答了 . 谢谢!