我的app引擎有问题,我用django。 我读了很多关于这个问题的想法,但我从来没有找到解决方案。 我使用Pycharm进行开发,我只是在models.py中使用app引擎
对于import ndb,我这样做:
from google.appengine.ext import ndb
有我的问题: 如果我使用" dev_appserver.py。"我没有任何问题,申请工作正常。
但是当我使用" python manage.py test mobile_backend /"我有一个错误。
来自google.appengine.ext import ndb
ImportError:没有名为的模块 appengine.ext
经过几个小时的搜索,解决方案我已经验证了一些事情:
-I put "'google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware',
" in the top of my MIDDLEWARE_CLASSES settings
-I have the google-cloud-sdk.
-I have in my .profile "export PATH=$PATH:/home/david/google-cloud-sdk/platform"
-I attempt to change the PYTHONPATH to integrated the PATH of google-cloud-sdk, but without success.
Pycharm向我显示导入的问题,他知道谷歌,但不知道导入的结束。(appengine.ext)
我有搜索,我有这个路径的ndb模块:
/home/david/google-cloud-sdk/platform/google_appengine/google/appengine/ext/ndb
有人可以帮助我吗?
答案 0 :(得分:6)
问题是您正在尝试使用App Engine基础架构但尚未正确设置App Engine环境。这在Setting up a testing framework部分的App Engine本地单元测试页面中有记录:
sdk_path = '/home/david/google-cloud-sdk/platform/google_appengine'
sys.path.insert(0, sdk_path)
import dev_appserver
dev_appserver.fix_sys_path()
答案 1 :(得分:0)
经过一番研究,我终于找到了解决方案。
当我使用
时from google.appengine.ext import ndb
我成功导入谷歌,但不是其他人。
我找到了导入文件,只看到了google.py。
我在google_appengine中与谷歌创建了一个符号链接。
之后,我可以导入google.appengine.ext,但我无法导入ndb。
错误是
ImportError:没有名为yaml的模块
为了解决这个问题,我只想:
pip install pyyaml
感谢您的帮助。