- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试为使用数据存储的 GAE 程序编写测试。正在关注Google's Documentation ,我看到我应该将我的 SDK 的路径添加到我的 PYTHONPATH 中。我这样做使用:
import sys
sys.path.remove('/usr/local/lib/python2.7/dist-packages') # Has a 'google' module, which I want to be sure isn't interfering.
sys.path.insert(1,'/home/olly/google-cloud-sdk/platform/google_appengine')
sys.path.insert(1, '/home/olly/google-cloud-sdk/platform/google_appengine/lib/yaml/lib')
然后当文件运行时:
Traceback (most recent call last):
File "myapp_tests.py", line 20, in <module>
from google.appengine.ext import ndb
ImportError: No module named appengine.ext
我已经在上面的位置安装了 SDK,并在 /home/olly/google-cloud-sdk/platform/google_appengine/
中找到了 google
文件夹,其中有一个 __init__.py
以及 appengine
。基本上,文件夹结构对我来说看起来不错,它们都被正确命名并且有 __init__.py
文件。
在交互式控制台中,运行上面的命令后,我发现我可以运行:
import google
没问题,但是当我试过的时候
import google.appengine
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named appengine
据我了解,目录中有 __init__.py()
文件意味着它们可以按上述方式导入。我还执行了 sudo find/--name "google"
,唯一出现在我的 PYTHONPATH 中的是 /usr/local/lib/python2.7/dist-packages
,我明确删除了它,并且还在前面插入了我的其余路径。
我尝试使用 GAE 自己的方法:
import dev_appserver
dev_appserver.fix_sys_path()
它向 sys.path 添加了很多路径,但仍然没有帮助我让它工作。
我还发现,当我将 '/home/olly/Servers/google_appengine/google'
添加到我的路径时,我可以运行:
import appengine.ext
但正在运行:
from appengine.ext import ndb
原因:
Traceback (most recent call last):
File "booking_function_tests.py", line 16, in <module>
from appengine.ext import ndb
File "/home/olly/Servers/google_appengine/google/appengine/ext/ndb/__init__.py", line 7, in <module>
from tasklets import *
File "/home/olly/Servers/google_appengine/google/appengine/ext/ndb/tasklets.py", line 69, in <module>
from .google_imports import apiproxy_stub_map
File "/home/olly/Servers/google_appengine/google/appengine/ext/ndb/google_imports.py" , line 11, in <module>
from google3.storage.onestore.v3 import entity_pb
ImportError: No module named google3.storage.onestore.v3
我是否漏掉了一些非常明显的东西?我应该如何导入 ndb?
编辑:我正在运行最新的 SDK (1.9.34),但我的 google_imports.py 中有以下代码:
try:
from google.appengine.datastore import entity_pb
normal_environment = True
except ImportError:
try:
from google3.storage.onestore.v3 import entity_pb
normal_environment = False
except ImportError:
# If we are running locally but outside the context of App Engine.
try:
set_appengine_imports()
from google.appengine.datastore import entity_pb
normal_environment = True
except ImportError:
raise ImportError('Unable to find the App Engine SDK. '
'Did you remember to set the "GAE" environment '
'variable to be the path to the App Engine SDK?')
另外,google.__path__
给了我 '/usr/local/lib/python2.7/dist-packages'
路径,我认为我之前删除了它。以下是我如何删除它的摘录:
import sys
sys.path.insert(1, '/home/olly/Servers/google_appengine')
sys.path.insert(1, '/home/olly/Servers/google_appengine/lib/yaml/lib')
sys.path.remove('/usr/local/lib/python2.7/dist-packages')
import google
print google.__path__
print sys.path
['/usr/local/lib/python2.7/dist-packages/google']
['/home/olly/Servers/google_appengine/myapp', '/home/olly/Servers/google_appengine/lib/yaml/lib', '/home/olly/Servers/google_appengine/google', '/home/olly/Servers/google_appengine', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
所以我的 sys.path 已更新,但 import google
似乎仍在从不再存在的路径导入,我想这将是我的问题的症结所在。我需要重新加载路径还是什么?
最佳答案
通过始终在 virtualenv 中运行,我很少遇到这些问题.
我同意 snakecharmerrb 你应该得到 print google.__file__
或 google.__path_
来弄清楚你正在导入什么。
此代码段也可能会解决您的问题:
import google
gae_dir = google.__path__.append('/path/to/appengine_sdk//google_appengine/google')
sys.path.insert(0, gae_dir) # might not be necessary
import google.appengine # now it's on your import path`
关于python - 谷歌应用引擎 : ImportError: No module named appengine. 分机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36022960/
我看到在 Ext JS 中有很多例子,而不是实际创建 Ext JS 对象,而是一个带有 xtype 的对象文字。属性传入。 这有什么用?如果无论如何要创建对象,性能增益在哪里(如果这是原因)? 最佳答
我已经使用 FreePBX Asterisk 成功构建了 VoIP 服务器。当我在 FreePBX 上注册用户时,它工作正常。但是,我想直接从移动设备注册 SIP 帐户。我发现我可以将自定义信息添加到
我已经使用 FreePBX Asterisk 成功构建了 VoIP 服务器。当我在 FreePBX 上注册用户时,它工作正常。但是,我想直接从移动设备注册 SIP 帐户。我发现我可以将自定义信息添加到
在 Ext 中有没有一个很好的方法来移动 DOM 中的元素?我想将元素“iShouldBeInsideTheBox”移动到“box”元素内,然后返回到两个 p 元素之间的原始位置: surr
我最初在 Sencha 论坛上发布了这个 here但没有得到任何回复(除了我自己的答案,我将很快发布),所以我将在这里重新发布,看看我是否能得到更多帮助。 我一直在绞尽脑汁思考如何在 4.0.7 中过
我有一个 TreeStore,它最初成功地从 json 文件加载数据: Ext.define('MM.store.InventoryTree', { extend: 'Ext.data.Tre
我是 swift 的新手,我想创建 Dog 类的扩展: class ViewController: UIViewController { override func viewDidLoad()
我刚开始使用 Liferay,我想使用 sensha 的 Ext JS 开发一个 portlet。我认为(根据我所做的搜索)问题是 liferay CSS 和 Ext CSS 之间存在冲突,但仍未找到
在 Ext Js 中,我希望我的一些按钮像链接一样工作(即 ', ' ', ' ', '
我使用 tx_news 扩展,我需要一个单一新闻的绝对 URL。建立指向单个新闻的正确链接,但它不是绝对链接。 这不起作用: 还有 我无法链接到单个新闻站点。 但我没有找到任何其他方法来为我建立指向
这个问题我想了很久,似乎想不出一个合理的解决办法。我想做的是在我看来为文本字段/它的值创建 getters/setters。我意识到首选的 Ext JS 方式是在 Controller 中使用引用并以
我在 Ext 3.3.1 中有一个动态生成的 Ext.tree.TreePanel。它看起来像这样: -root -fruit -apple -vegetable
我正在尝试将日历面板添加到 Web 应用程序。但我无法在日历上显示事件。 代码如下: { xtype: 'calendar', layout: 'fit', flex: 7,
这是我从服务器返回的 JSON 数据。我没有看到我的组合被加载。这里有什么问题? {"suffixList":["-1","-2","-3"]} 型号: Ext.define('ExtMVC.mode
我正在尝试为使用数据存储的 GAE 程序编写测试。正在关注Google's Documentation ,我看到我应该将我的 SDK 的路径添加到我的 PYTHONPATH 中。我这样做使用: imp
我们正在使用 ext:news 在我们的 Intranet 上显示 youtube 视频。 问题是默认的 ext:news 播放器在最后显示相关视频。 有没有办法添加 rel=0 在没有大量修改的参数
我正在使用 Ext JS 5.0.1,我正在尝试使用 View 内定义的 viewModel 中的链接。 下面的示例有效。 Ext.define("MyViewPackage.MyView", { e
Note. This is not interrogate the url that you get from window.location 我正在使用返回详细信息的chrome.webReques
当我尝试动态设置网格过滤器列表时遇到了一个奇怪的问题。 让我用我的代码片段来解释 我有一列过滤器列表定义为 { text : 'Client',
我正在尝试在 Ext JS 4.0.7 的 TreeStore 中设置不同的根节点,但我似乎无法正确地做到这一点...我不知道这是不是框架中的另一个错误,或者是否我只是错误地使用了这些功能,所以我正在
我是一名优秀的程序员,十分优秀!