我正在努力弄清楚如何设置在Docker容器中运行的python应用程序(Flask)的远程调试.具体来说,我使用的是docker-compose,PyCharm professional和python 3.5.这是我到目前为止所做的:
我在wsgi.py文件中添加了以下行:
import sys sys.path.append('../ pycharm-debug-py3k.egg')import pydevd pydevd.settrace('0.0.0.0',port = 8200,stdoutToServer = True,stderrToServer = True)
我在PyCharm中创建了一个远程调试配置(通过将本地机器项目路径的路径映射到docker容器中的路径)
通过从PyCharm运行调试配置(单击错误图标),它打印(并挂起):
import sys
sys.path.append('../pycharm-debug-py3k.egg')
import pydevd
pydevd.settrace('0.0.0.0', port=8200, stdoutToServer=True, stderrToServer=True)
Run Code Online (Sandbox Code Playgroud)
...在docker容器日志中,我读到:
无法连接到0.0.0.0:4200
我该怎么办?(我的目标是能够在PyCharm中添加断点并停止执行docker容器应用程序以进行调试)
在我的交互模型中,我定义了一个名为的插槽city,该插槽是可选的,不是必需的,以实现意图。
我正在使用 python ask sdk,所以我的处理程序是这样的:
class IntentHandler(RequestHandler):
"""
Intent handler
"""
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return is_request_type("IntentRequest")(handler_input) and \
is_intent_name("ExampleIntent")(handler_input)
def handle(self, handler_input):
# type: (HandlerInput) -> Response
access_token = handler_input.request_envelope.context.system.user.access_token
if access_token is None:
raise Exception("no access_token provided")
speech = RESPONSE_MESSAGE_DEFAULT
handler_input.response_builder.speak(speech)
return handler_input.response_builder.response
Run Code Online (Sandbox Code Playgroud)
如何检查插槽是否已被用户填充以及如何获取其值?
我正在分析大约2M原始单词的语料库.我使用gensim的word2vec构建模型,使用sklearn TSNE嵌入向量,并使用sklearn DBSCAN对向量(来自word2vec,而不是TSNE)进行聚类.TSNE输出看起来很正确:2D空间中单词的布局似乎反映了它们的语义.有一组拼写错误,衣服等等.
但是,我无法让DBSCAN输出有意义的结果.它似乎标记了"0"组中的所有内容(图像中的彩色蓝绿色).当我增加epsilon时,"0"组接管所有内容.以下是epsilon = 10和epsilon = 12.5的屏幕截图.使用epsilon = 20,几乎所有内容都在同一组中.
例如,我希望所有的"衣服"字组聚集在一起(它们是非聚集的@ eps = 10).我还期望更多关于100个簇的顺序,而不是5-12个簇,并且能够使用epsilon控制簇的大小和数量.
那么几个问题.我是否正确理解DBSCAN的使用?还有其他聚类算法可能是更好的选择吗?我怎么知道我的数据有什么好的聚类算法?
考虑到TSNE看起来是正确的,假设我的模型调得很好是否安全?
我可以使用哪些其他技术来将问题与群集隔离开来?我怎么知道这是我的word2vec模型,我对DBSCAN的使用,还是其他什么?
这是我用来执行DBSCAN的代码:
import sys
import gensim
import json
from optparse import OptionParser
import numpy as np
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
# snip option parsing
model = gensim.models.Word2Vec.load(options.file);
words = sorted(model.vocab.keys())
vectors = StandardScaler().fit_transform([model[w] for w in words])
db = DBSCAN(eps=options.epsilon).fit(vectors)
labels = db.labels_
core_indices = db.core_sample_indices_
n_clusters = len(set(labels)) - (1 if -1 in labels else 0)
print("Estimated {:d} clusters".format(n_clusters), …Run Code Online (Sandbox Code Playgroud) 以下是参考资料:
查找单个文档并更新它,返回原始文档或更新后的文档。
update_one 方法更新与过滤器匹配的单个文档。
在我看来,他们都首先查询所选文档,然后更新它。
我想知道是否存在某种优化差异。唯一的另一个区别是返回值,这让我想知道为什么人们甚至会使用它update_one()。
我正在使用用于 MySQL 的 docker 容器和 docker-compose ,效果很好。
唯一的问题是我unknown database "database_name"每天第一次运行时都会出现错误(Windows启动后)
之后,如果我停止它并重新运行它,我不会出错并且一切正常。
yaml配置:
version: "2.0"
services:
mysql:
container_name: mysql
restart: always
image: mysql:5.7
command: --max_allowed_packet=32505856
ports:
- "3306:3306"
volumes:
- 'C:\data\mysql_db:/var/lib/mysql/'
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
networks:
- shared
networks:
shared:
external:
name: shared
Run Code Online (Sandbox Code Playgroud)
编辑:这是启动日志的粘贴箱:https : //pastebin.com/aJiKJ4aE
我想知道是否存在一些标志或标签,网站可以使用它来检测来自 Puppeteer 的请求?
当我基于Puppeteer运行我的代码来访问目标网站时,我发现该网站似乎知道该请求是由Puppeteer发出的。
怎么办呢?
我在 Alexa 帐户链接授权方面遇到了一些问题。
这些是我遵循的步骤:
handler_input.request_envelope.context.system.user.access_token问题是访问令牌在一小时后过期,Alexa 不管理令牌的刷新。
我应该怎么做才能避免每次一小时后都要求我的用户登录?我应该Implicit grant用作授权类型吗?我应该以某种方式获得刷新令牌吗?
附加信息:这是一项使用 Python3 连接到 AWS Lambda 的自定义技能
google-api google-authentication alexa alexa-skill alexa-skills-kit
我正在尝试设置一个适用于推送类型订阅的 GCP PubSub 服务。然而,在开发阶段创建一个是不可能的,而我没有可访问的端点。
我认为模拟器将允许我指定一个本地端点,以便该服务可以在本地完美运行。
但是,在设置之后,我在Node.js pubsub 库中找不到在指定其选项的同时创建订阅的方法,没有示例。
这是创建简单、默认、拉取、订阅的非常简单的方法:
await pubsub.topic(topicName).createSubscription(subscriptionName);
Run Code Online (Sandbox Code Playgroud) python ×3
alexa ×2
alexa-skill ×2
docker ×2
node.js ×2
airflow ×1
airflow-2.x ×1
alexa-slot ×1
gensim ×1
google-api ×1
mongodb ×1
mysql ×1
puppeteer ×1
pycharm ×1
pymongo ×1
scikit-learn ×1
word2vec ×1