小编ven*_*lin的帖子

使用多处理Pool.map()时无法pickle <type'instancemethod'>

我想使用multiprocessingPool.map()功能,同时划分出工作.当我使用以下代码时,它工作正常:

import multiprocessing

def f(x):
    return x*x

def go():
    pool = multiprocessing.Pool(processes=4)        
    print pool.map(f, range(10))


if __name__== '__main__' :
    go()
Run Code Online (Sandbox Code Playgroud)

但是,当我在面向对象的方法中使用它时,它不起作用.它给出的错误信息是:

PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup
__builtin__.instancemethod failed
Run Code Online (Sandbox Code Playgroud)

当以下是我的主程序时会发生这种情况:

import someClass

if __name__== '__main__' :
    sc = someClass.someClass()
    sc.go()
Run Code Online (Sandbox Code Playgroud)

以下是我的someClass课程:

import multiprocessing

class someClass(object):
    def __init__(self):
        pass

    def f(self, x):
        return x*x

    def go(self):
        pool = multiprocessing.Pool(processes=4)       
        print pool.map(self.f, range(10))
Run Code Online (Sandbox Code Playgroud)

任何人都知道问题可能是什么,或者一个简单的方法呢?

python multithreading pool pickle multiprocessing

206
推荐指数
6
解决办法
12万
查看次数

绘制python日期时间的累积图

假设我有一个日期时间列表,我们知道每个日期时间是事件发生的记录时间.

是否有可能在matplotlib中绘制此事件随时间发生的频率,在累积图中显示此数据(以便每个点大于或等于之前的所有点),而无需预处理此列表?(例如,将datetime对象直接传递给一些精彩的matplotlib函数)

或者我是否需要将此日期时间列表转换为字典项列表,例如:

{"year": 1998, "month": 12, "date": 15, "events": 92}
Run Code Online (Sandbox Code Playgroud)

然后从此列表生成图表?

python datetime graph matplotlib

16
推荐指数
2
解决办法
8894
查看次数

接受用户名或电子邮件以使用django-allauth登录

我看到Django的allauth支持使用自己的电子邮件地址,强制用户登录,并(从电子邮件地址,而不是生成一个自动)报名时不要求他们输入用户名- /sf/answers/1377847271/ 221001

是否可以让用户注册,手动输入电子邮件地址和用户名,然后允许他们使用任一登录?(例如,登录页面上有两个字段:“用户名或电子邮件”和“密码”)

python authentication django django-allauth

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

算法对n*n距离矩阵提出质疑

假设我在n个用户之间有一个n*n的距离矩阵.我想知道使用什么算法来查找组周围的路由,从用户X开始并返回到用户X,所有其他节点访问一次但只有一次,并且在每一跳中使用尽可能短的距离.

algorithm graph-theory graph

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