我正在尝试使用SQLAlchemy ORM实现动态过滤.
我正在浏览StackOverflow并发现了非常类似的问题:SQLALchemy dynamic filter_by
它对我有用,但还不够.
所以,这是一些代码示例,我正在尝试写:
# engine - MySQL engine
session_maker = sessionmaker(bind=engine)
session = session_maker()
# my custom model
model = User
def get_query(session, filters):
if type(filters) == tuple:
query = session.query(model).filter(*filters)
elif type(filters) == dict:
query = session.query(model).filter(**filters)
return query
Run Code Online (Sandbox Code Playgroud)
然后我试图用非常相似的东西重用它:
filters = (User.name == 'Johny')
get_query(s, filters) # it works just fine
filters = {'name': 'Johny'}
get_query(s, filters)
Run Code Online (Sandbox Code Playgroud)
第二次运行后,有一些问题:
TypeError: filter() got an unexpected keyword argument 'name'
Run Code Online (Sandbox Code Playgroud)
当我试图改变我filters的时候:
filters = {User.name: 'Johny'} …Run Code Online (Sandbox Code Playgroud) 我有一些使用 aiohttp 的应用程序。
我将 POST 请求发送到适当的端点,例如:
POST mysite.com/someendpoind/
Run Code Online (Sandbox Code Playgroud)
数据类似于:
{"param1": "value1", "param2": "value2", ..., "paramn": None}
Run Code Online (Sandbox Code Playgroud)
然后在后端,我想在这个请求中添加一些额外的条件:
data = await request.json()
data["additional_conditional"] = True
Run Code Online (Sandbox Code Playgroud)
但request.json()失败并出现错误:
[ERROR] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_protocol.py", line 422, in start
resp = yield from self._request_handler(request)
File "/usr/local/lib/python3.5/dist-packages/aiohttp/web.py", line 306, in _handle
resp = yield from handler(request)
File "/usr/local/lib/python3.5/dist-packages/aiohttp_session/__init__.py", line 129, in middleware
response = yield from handler(request)
File "/opt/bikeamp/auth/__init__.py", line 57, in wrapped
return (yield from f(request, user)) …Run Code Online (Sandbox Code Playgroud) 我正在尝试安装Flask-ACL:https: //mikeboers.github.io/Flask-ACL
$ pip search acl | grep -i flask
Flask-ACL (0.0.1) - Access control lists for Flask.
flask-miracle-acl (0.2) - The fabric between the Flask framework and Miracle ACL
Flask-Sandbox (0.1.0)- ACL Route controls for Flask
Flask-SimpleACL (1.2)- Simple ACL extension
$ pip install Flask-ACL
Collecting Flask-ACL
Could not find a version that satisfies the requirement Flask-ACL (from versions: )
No matching distribution found for Flask-ACL
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
PS Pip几分钟前升级了.
更新:
$ python --version
Python 2.7.3
Run Code Online (Sandbox Code Playgroud)
我在virtualenv下运行它.
pip …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用我的GitHub设置CodeDeploy,但我发现了一些问题.
我已经在政策service role文档中提到过了AWSCodeDeployRole.
在我的代码部署应用程序创建过程中,我遇到了一个问题:
Cannot assume role provided.
Run Code Online (Sandbox Code Playgroud)
正如我所看到的,我的角色AWSCodeDeployRole拥有很多自动缩放权限,但我不希望这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CompleteLifecycleAction",
"autoscaling:DeleteLifecycleHook",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeLifecycleHooks",
"autoscaling:PutLifecycleHook",
"autoscaling:RecordLifecycleActionHeartbeat",
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:EnableMetricsCollection",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribePolicies",
"autoscaling:DescribeScheduledActions",
"autoscaling:DescribeNotificationConfigurations",
"autoscaling:DescribeLifecycleHooks",
"autoscaling:SuspendProcesses",
"autoscaling:ResumeProcesses",
"autoscaling:AttachLoadBalancers",
"autoscaling:PutScalingPolicy",
"autoscaling:PutScheduledUpdateGroupAction",
"autoscaling:PutNotificationConfiguration",
"autoscaling:PutLifecycleHook",
"autoscaling:DescribeScalingActivities",
"autoscaling:DeleteAutoScalingGroup",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:TerminateInstances",
"tag:GetTags",
"tag:GetResources",
"sns:Publish",
"cloudwatch:DescribeAlarms",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer"
],
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在一些谷歌搜索期间,我发现CodeDeploy应用程序可能期望类似于:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": [ …Run Code Online (Sandbox Code Playgroud) 我正在使用 Python 进行人脸识别。
我有以下代码:
from sklearn.externals import joblib
clf = joblib.load('model/svm.pkl')
pca = joblib.load('model/pca.pkl')
face_cascade = cv2.CascadeClassifier("classifier/haarcascade_frontalface_alt.xml")
webcam = cv2.VideoCapture(0)
ret, frame = webcam.read()
while ret:
start = time()
origin = frame
gray = cv2.cvtColor(origin, cv2.COLOR_BGR2GRAY)
cv2.equalizeHist(gray,gray)
faces = face_cascade.detectMultiScale(
origin,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags=cv2.cv.CV_HAAR_SCALE_IMAGE
)
for (x, y, w, h) in faces:
cv2.rectangle(origin, (x, y), (x+w, y+h), (0, 255, 0), 2)
face = gray[y:y+h , x:x+w]
cv2.equalizeHist(face,face)
face_to_predict = cv2.resize(face,(100, 100),interpolation = cv2.INTER_AREA)
img = face_to_predict.ravel()
principle_components = …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的问题,但我找不到答案.
我有一些字符串:
test-123
Run Code Online (Sandbox Code Playgroud)
smart如果此字符串与我的条件完全匹配,我想要一些正则表达式进行验证.
我希望有一个像这样的字符串:
test-<number>
Run Code Online (Sandbox Code Playgroud)
数字应包含数字上1到*的元素.
我正在尝试做这样的事情:
import re
correct_string = 'test-251'
wrong_string = 'test-123x'
regex = re.compile(r'test-\d+')
if regex.match(correct_string):
print 'Matching correct string.'
if regex.match(wrong_string):
print 'Matching wrong_string.'
Run Code Online (Sandbox Code Playgroud)
所以,我可以看到两个消息(匹配正确和错误的字符串),但我真的希望只匹配正确的字符串.
此外,我试图使用search方法而不是match没有运气.
想法?
我有很多bash命令.其中一些因各种原因而失败.我想检查一些错误是否包含子字符串.
这是一个例子:
#!/bin/bash
if [[ $(cp nosuchfile /foobar) =~ "No such file" ]]; then
echo "File does not exist. Please check your files and try again."
else
echo "No match"
fi
Run Code Online (Sandbox Code Playgroud)
当我运行它时,错误被打印到屏幕上,我得到"不匹配":
$ ./myscript
cp: cannot stat 'nosuchfile': No such file or directory
No match
Run Code Online (Sandbox Code Playgroud)
相反,我希望捕获错误并符合我的条件:
$ ./myscript
File does not exist. Please check your files and try again.
Run Code Online (Sandbox Code Playgroud)
如何正确匹配错误消息?
PS我找到了一些解决方案,您对此有何看法?
out=`cp file1 file2 2>&1`
if [[ $out =~ "No such file" ]]; then
echo "File does not exist. Please …Run Code Online (Sandbox Code Playgroud) 我的项目结构如下所示:
package1/ # a lot of files, submodules here.
package2/ # a lot of files, submodules here.
package3/ # a lot of files, submodules here.
tests/
setup.py
Run Code Online (Sandbox Code Playgroud)
我有一个setup.py类似的测试:
setup(
name='MyPackage',
packages=find_packages(exclude=['tests']),
package_data={
'package': ['./path/*.xsd'],
},
include_package_data=True,
py_modules=['package1'],
version=__version__,
description='My description',
classifiers=[
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
],
zip_safe=False,
author='Me',
author_email='example@example.com',
url='http://www.example.com/',
keywords=['Keyword1', 'Keyword2'],
scripts=['./script1.py', './script2.py'],
install_requires=[
'isodate',
'pycurl',
],
extras_require={':python_version < "3.0"': ['enum34', 'future']}
)
Run Code Online (Sandbox Code Playgroud)
我按以下方式使用它:
python setup.py bdist_wheel -d . …Run Code Online (Sandbox Code Playgroud) 我正在使用私钥从我的 Docker 文件中的 Github 下载我的存储库。我有这样的事情:
RUN mkdir -p /root/.ssh && echo "$MY_PRIVATE_KEY" >/root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa && ssh-keyscan github.com >> /root/.ssh/known_hosts && cat /root/.ssh/known_hosts && ssh -vvv git@github.com && pip install git+ssh://git@github.com/my_project.git@v1.0.0 && rm /root/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
哪里MY_PRIVATE_KEY有争论。我无法重新创建此密钥。我的问题是在连接过程中出现以下错误:
key_load_private_type: incorrect passphrase supplied to decrypt private key
是否有可能以某种方式跳过密码?
我正在尝试通过AWS从github存储库设置部署。
在这些步骤中,我遇到了一个问题:
http://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html#codedeploy-agent-operations-install-linux
Run Code Online (Sandbox Code Playgroud)
该命令失败:
wget https://bucket-name.s3.amazonaws.com/latest/install
Run Code Online (Sandbox Code Playgroud)
它返回:
[ec2-user@ip-172-31-11-55 ~]$ wget https://bucket-name.s3.amazonaws.com/latest/install
--2017-06-04 10:18:18-- https://bucket-name.s3.amazonaws.com/latest/install
Resolving bucket-name.s3.amazonaws.com (bucket-name.s3.amazonaws.com)... 54.231.114.146
Connecting to bucket-name.s3.amazonaws.com (bucket-name.s3.amazonaws.com)|54.231.114.146|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2017-06-04 10:18:18 ERROR 403: Forbidden.
Run Code Online (Sandbox Code Playgroud)
我已为我的实例允许所有端口用于入站/出站流量。
怎么了?
我正在尝试在我的主机系统中使用 MySQL docker 容器来使安装和配置过程更加轻松快捷。
所以,我从以下位置提取了一个图像:https : //hub.docker.com/r/mysql/mysql-server/
然后基于此图像启动容器..
容器启动正常,但我无法从我的主机系统连接到这个数据库(如果我尝试从容器连接,一切正常)。它失败并显示一条消息:
ERROR 1130 (HY000): Host '<here goes my IP>' is not allowed to connect to this MySQL server
Run Code Online (Sandbox Code Playgroud)
所以,据我所知,我的root用户没有足够的权限。
我已经进入了我的容器:
docker exec -it mysql bash
Run Code Online (Sandbox Code Playgroud)
连接到数据库:
mysql -uroot -ppassword
Run Code Online (Sandbox Code Playgroud)
更新了我的 root 用户的权限:
use mysql;
UPDATE user SET Host="%" WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
更新好了
比我决定以某种方式保存我更新的图像......我找到了这个指南:
http://docs.oracle.com/cd/E52668_01/E75728/html/section_c5q_n2z_fp.html
Run Code Online (Sandbox Code Playgroud)
执行后:
docker stop mysql
docker commit -m "Fixed permissions for root user" -a "Few words about author" `docker ps -l -q` myrepo/mysql:v1
docker rm mysql
docker …Run Code Online (Sandbox Code Playgroud) python ×5
docker ×2
pip ×2
aiohttp ×1
amazon-ec2 ×1
bash ×1
dockerfile ×1
dockerhub ×1
dynamic ×1
filtering ×1
github ×1
http-post ×1
json ×1
mysql ×1
opencv ×1
package ×1
packages ×1
python-3.6 ×1
python-wheel ×1
regex ×1
request ×1
rhel ×1
sqlalchemy ×1
ssh-keys ×1