小编spe*_*ane的帖子

OAuth:从Google App Engine中启动Google Compute实例

我有一个运行我网站大部分内容的Google App Engine网络应用.但是,对于某些功能,我需要一台linux机器.我希望我的Google App Engine应用能够在某些事件中自动启动Google Compute Instance.

我了解您可以使用Compute Engine REST API添加Google Compute实例.但是,要访问Google Compute REST API,您需要使用OAuth2身份验证过程获取访问令牌.

如何以编程方式从Google App Engine中获取访问令牌?

似乎所有身份验证方法都需要显示一个窗口,因此您可以输入用户名和密码,这在Google App Engine中是不切实际的.

google-app-engine oauth-2.0 google-compute-engine

8
推荐指数
1
解决办法
2184
查看次数

使用两个具有冲突名称的Python库

我想在一个应用程序中使用两个Python库(Google的Cloud Library及其Cloud SDK),但它们具有冲突的名称(它们都google在其基本导入名称中使用,并且不在内部使用相对导入).我怎样才能在一个应用程序中使用它们?

更改库的代码以使用正确的相对导入是不切实际的.另外,我知道我可以使用virtualenv从不同的python应用程序访问这些库,但是如何从同一个python应用程序中访问它们?

命名冲突的详细信息

以下是导入的一些细节.当我从云库(我运行import google.cloud.datastore)导入模块时,该库中的另一个导入有一个例外:

>>> import libs.google.cloud.datastore
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\[ProjectDIR]\libs\google\cloud\datastore\__init__.py", line 52, in <module>
    from google.cloud.datastore.batch import Batch
ImportError: No module named cloud.datastore.batch
Run Code Online (Sandbox Code Playgroud)

图书馆试图进行绝对导入,而不是相对导入.Google Cloud Library无法导入google.cloud.datastore.batch的原因google是因为已在SDK中定义,因此存在命名冲突:

>>> print google.__path__
['C:\\Program Files (x86)\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\google']
Run Code Online (Sandbox Code Playgroud)

由于Cloud Library使用绝对导入,并且该名称google已在SDK中定义,因此导入失败.

python google-app-engine virtualenv python-import google-cloud-platform

8
推荐指数
1
解决办法
1337
查看次数

Django App Engine:AttributeError:'AnonymousUser'对象没有属性'后端'

我正在使用djangoappengine.当我尝试创建新用户,验证该用户并将其登录时,我收到以下错误AttributeError: 'AnonymousUser' object has no attribute 'backend'.

我的代码很简单,看起来像:

user = User.objects.create_user(username, username, password)
user.set_password(password)
user.save()

user = django.contrib.auth.authenticate(username=username, password=password)
django.contrib.auth.login(request, user)
Run Code Online (Sandbox Code Playgroud)

我只在生产中遇到以下错误,只是偶尔出现:

web req_create: 'AnonymousUser' object has no attribute 'backend'
Traceback (most recent call last):
  File "/base/data/home/apps/s~XXXXX/1.356802202883392818/XXXX/XXX.py", line 332, in req_create
    login(request, user)
  File "/base/data/home/apps/s~XXXXX/1.356802202883392818/django/contrib/auth/__init__.py", line 82, in login
    request.session[BACKEND_SESSION_KEY] = user.backend
AttributeError: 'AnonymousUser' object has no attribute 'backend'
Run Code Online (Sandbox Code Playgroud)

我不确定,但我有一种不好的感觉,这个异常是由于高复制数据存储及其最终的一致性.我认为这样authenticate()可以保存用户值并login()进行查询,但用户值尚未传播到HRDS中.任何人都可以证实这是真的吗?如果是这样,它将如何修复?

python django google-app-engine django-nonrel djangoappengine

7
推荐指数
1
解决办法
1万
查看次数

Google云端存储:我使用了多少总空间?

我正在使用Google云端存储.我在哪里可以确定我使用的总空间?我似乎无法在仪表板中找到它告诉您的总使用量,以兆字节或千兆字节为单位.

仪表板的屏幕截图

dashboard google-cloud-storage google-cloud-console google-cloud-platform

7
推荐指数
3
解决办法
1866
查看次数

在Google App Engine TaskQueue中获取任务

我知道您可以在仪表板或开发服务器控制台中查看当前排队和正在运行的任务.但是,有没有办法以编程方式获取该列表?文档仅描述如何向队列添加任务,而不描述如何列出和/或取消它们.

请在python中.

python google-app-engine dashboard task task-queue

6
推荐指数
1
解决办法
2300
查看次数

Notepad ++自动检测Python选项卡或空格

我通常使用制表符编写代码,但许多python库使用空格.Notepad ++是否有任何方法可以自动检测文件的格式,并在文件已经格式化时自动切换到使用空格?

顺便说一句,我知道如何改变Notepad ++的标签格式已经有了一个问题.但如果它根据当前文件的格式自动更改会更好.

python tabs notepad++

6
推荐指数
1
解决办法
3179
查看次数

给出两个整数列表,找到彼此距离内的每对<O(N ^ 2)

我有两个排序的整数列表.我想分别从第一个和第二个列表中找到彼此相距一定距离的所有整数对.

天真的方法是检查每对,导致O(N ^ 2)时间.我确信有一种方法可以在O(N*logN)或更短的时间内完成.

在python中,天真的O(N ^ 2)方法如下:

def find_items_within(list1, list2, within):
    for l1 in list1:
        for l2 in list2:
            if abs(l1 - l2) <= within:
                yield (l1, l2)
Run Code Online (Sandbox Code Playgroud)

pythonic答案的额外点.

应用说明

我只是想指出这个小谜题的目的.我正在搜索文档,并希望在另一个术语的特定距离内找到一个术语的所有出现.首先,您可以找到两个术语的术语向量,然后您可以使用下面描述的算法来确定它们是否在彼此的给定距离内.

python algorithm

6
推荐指数
2
解决办法
1495
查看次数

粗略接近Python中一串文本的宽度?

如何使用Python来近似给定文本字符串的字体宽度?

我正在寻找一个类似于以下原型的函数:

def getApproximateFontWidth(the_string, font_name="Arial", font_size=12):
   return ... picas or pixels or something similar ...
Run Code Online (Sandbox Code Playgroud)

我不是在寻找任何非常严谨的东西,近似会很好.

这样做的动机是我在webapp的后端生成一个截断的字符串并将其发送到前端进行显示.大多数情况下琴弦是小写的,但有时琴弦全部都是大写的,因此它们非常宽.如果字符串没有正确分组,它看起来很难看.我想知道基于它们的近似宽度来截断字符串的程度.如果它关闭了10%这不是什么大问题,这是一个美容功能.

python fonts

6
推荐指数
1
解决办法
2570
查看次数

Elasticsearch:在查询时修改字段规范化(查询中的omit_norms)

Elasticsearch在排名时将文档的长度考虑在内(他们称这个字段为规范化).默认行为是将较短的匹配文档排名高于较长的匹配文档.

无论如何在查询时关闭或修改字段规范化?我知道索引时间omit_norms选项,但我宁愿不重新索引所有内容来尝试这一点.

而且,我想尝试一些事情,而不是简单地关闭字段规范化.我想考虑字段长度,但不像弹性搜索目前那么重要.使用默认行为,文档的排名将比文档的排名高2倍.我想尝试排名和长度之间的非线性关系.

tf-idf relevance elasticsearch

6
推荐指数
0
解决办法
372
查看次数

Google Cloud Console记录中的正则表达式

您如何使用正则表达式在新的Cloud Console中搜索Google App Engine日志?

这篇博客文章建议您只需要键入regex:my.*query即可搜索,但是在日志记录控制台中似乎不起作用。当我这样做时,它会自动更正为以下查询text:regex:my.*query

google-app-engine google-cloud-console google-cloud-logging

6
推荐指数
3
解决办法
5935
查看次数