小编The*_*inn的帖子

使用pip3安装软件包时,"Python中的SSL模块不可用"

我已成功在本地计算机上安装Python 3.4和Python 3.6,但无法安装包pip3.

执行时pip3 install <package>,我收到以下与SSL相关的错误:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
  Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>
Run Code Online (Sandbox Code Playgroud)

如何修复我的Python3.x安装,以便我可以安装包pip install …

python ssl pip

75
推荐指数
16
解决办法
15万
查看次数

利用"Copy-on-Write"将数据复制到Multiprocessing.Pool()工作进程

我有multiprocessing一些看起来有点像这样的Python代码:

import time
from multiprocessing import Pool
import numpy as np

class MyClass(object):
    def __init__(self):
        self.myAttribute = np.zeros(100000000) # basically a big memory struct

    def my_multithreaded_analysis(self):
        arg_lists = [(self, i) for i in range(10)]
        pool = Pool(processes=10)
        result = pool.map(call_method, arg_lists)
        print result

    def analyze(self, i):
        time.sleep(10)
        return i ** 2

def call_method(args):
    my_instance, i = args
    return my_instance.analyze(i)


if __name__ == '__main__':
    my_instance = MyClass()
    my_instance.my_multithreaded_analysis()
Run Code Online (Sandbox Code Playgroud)

在阅读了有关内存如何在其他StackOverflow答案(例如Python多处理内存使用情况)中工作的答案后,我认为这不会使用内存与我用于多处理的进程数量成比例,因为它是写时复制和我没有修改任何属性my_instance.但是,当我运行顶部时,我确实看到了所有进程的高内存,它说我的大多数进程都使用了大量内存(这是OSX的最高输出,但我可以在Linux上复制).

我的问题基本上是,我是否正确地解释了这一点,因为我的实例MyClass实际上是在池中重复的?如果是这样,我该如何防止这种情况; 我应该不使用这样的结构吗?我的目标是减少计算分析的内存使用量.

PID   COMMAND …
Run Code Online (Sandbox Code Playgroud)

python memory-management multiprocessing python-multiprocessing

11
推荐指数
2
解决办法
2722
查看次数

如果父行将在SQLAlchemy中被孤立,则阻止删除父行

我目前正在使用sqlalchemy通过flask-sqlalchemy构建数据模型

该数据库位于Postgresql服务器上

从具有关系的表中删除行时遇到问题.在这种情况下,我有许多治疗类型和一种治疗方法.治疗具有单一治疗类型.

只要我有一个或多个治疗分配了特定治疗类型,我希望不能删除治疗类型.因为现在它在我尝试时被删除了.

我有以下型号:

class treatment(db.Model):
    __tablename__ = 'treatment'
    __table_args__ = (db.UniqueConstraint('title', 'tenant_uuid'),)

    id = db.Column(db.Integer, primary_key=True)
    uuid = db.Column(db.String(), nullable=False, unique=True)
    title = db.Column(db.String(), nullable=False)
    tenant_uuid = db.Column(db.String(), nullable=False)

    treatmentType_id = db.Column(db.Integer, db.ForeignKey('treatmentType.id'))
    riskResponse_id = db.Column(db.Integer, db.ForeignKey('riskResponse.id'))

class treatmentType(db.Model):
    __tablename__ = 'treatmentType'
    __table_args__ = (db.UniqueConstraint('title', 'tenant_uuid'),)

    id = db.Column(db.Integer, primary_key=True)
    uuid = db.Column(db.String(), nullable=False, unique=True)
    title = db.Column(db.String(), nullable=False)
    tenant_uuid = db.Column(db.String(), nullable=False)

    treatments = db.relationship('treatment', backref='treatmentType', lazy='dynamic')
Run Code Online (Sandbox Code Playgroud)

在删除治疗类型之前,我可以在我的"删除"视图中构建一些检查指定治疗的逻辑,但在我看来,这应该是关系数据库的标准功能.换句话说,我一定是做错了.

我删除了这样的治疗类型:

entry = treatmentType.query.filter_by(tenant_uuid=session['tenant_uuid']).all()
    try:
        db.session.delete(entry)
        db.session.commit()
        return {'success': …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy relationship flask

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

访问资源时 Flask 和 Boto3 `ValueError: Required parameter name not set`

每次我运行我的应用程序时,它都会工作,直到我向/files路由发送请求,在那里我得到一个ValueError: Required parameter name not set. 该错误未指定parameter未设置的内容。

from flask import (
    Flask, render_template, redirect, 
    url_for, g, session, flash, request
)
from flask_session import Session
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from flask_wtf.file import FileField
from datetime import datetime
from wtforms import StringField, PasswordField, BooleanField, DateTimeField, TextField
from wtforms.validators import InputRequired, Email, Length
from flask_sqlalchemy  import SQLAlchemy
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import (LoginManager, UserMixin, login_user,
                         login_required, logout_user, current_user)
from werkzeug.utils …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services flask

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

如何在Angular 2中将注入服务从超类继承到子类组件中

从Angular v2.0开始,在components之间支持继承

给定一个父类,并通过依赖注入为构造函数提供服务,是否可以定义扩展(或继承)其父类的子类,以便其可以访问父类的服务

import {MyService} from './my.service'
import {OnInit} from '@angular/core'

@Component({
   selector: 'parent-selector',
   providers: [MyService],
   templateUrl: 'my_template.html'
})
export class ParentClass implements OnInit{
    public foobar: number;
    constructor(protected _my_service: MyService){};

    ngOnInit(){
        foobar = 101;
    }
}

@Component({
   selector: 'child-selector',
   templateUrl: 'my_template.html'
})
export class ChildClass extends ParentClass{
    public new_child_function(){
        // This prints successfully
        console.log(this.foobar);
        // This throws an error saying my_service is "undefined"
        this._my_service.service_function();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我们尝试new_child_function()从子类中调用时,它成功访问了其父类的成员foob​​ar,但是对的调用this._my_service.service_function()给我们带来了以下不太有趣的错误:

Cannot …
Run Code Online (Sandbox Code Playgroud)

inheritance dependency-injection typescript angular

5
推荐指数
0
解决办法
4500
查看次数

将数据传递给 Python multiprocessing.Pool 工作进程

我正在尝试利用Pool.map(func, itr)来提高程序的性能,我需要func访问一个非常大的字典,称为cache以便它可以进行缓存查找。

cache卖场“每一个第一的二进制表示2**16的整数”。

cache = {i: bin(i) for i in range(2**16 - 1)}
Run Code Online (Sandbox Code Playgroud)

的职责func是计算传递给它的二进制表示中的1son-bits的数量int

def func(i: int) -> int:
    return cache[i].count("1")
Run Code Online (Sandbox Code Playgroud)

我想做如下事情:

with Pool(8) as pool:
    counts = pool.map(func, [i for i in range(2**16-1)])
Run Code Online (Sandbox Code Playgroud)

但是如何使cache对象func在每个工作子进程中可用?

python python-multiprocessing

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