在Windows上,workerpool与python3.4兼容吗?

时间:2014-06-04 19:58:36

标签: python python-3.x

我使用pip install安装了workerpool,安装工作正常。

import workerpool

我得到了

C:\Python34\lib\site-packages\workerpool\__init__.py in <module>()
     23 for performing a specialized type of job.
     24 """
---> 25 from exceptions import *
     26 from jobs import *
     27 from pools import *

ImportError: No module named 'exceptions'

我对其他模块没有任何问题。

workerpool是否与python3.4兼容?
您是否看到了上述问题的解决方案?

更新1

在应用下面的cpburnz建议之后:

我发现了这个错误

      C:\Python34\lib\site-packages\workerpool\pools.py in <module>()
----> 8 from Queue import Queue
      9 if not hasattr(Queue, 'task_done'):
     10 # Graft Python 2.5's Queue functionality onto Python 2.4's implementation

ImportError: No module named 'Queue'

下一步是什么?

1 个答案:

答案 0 :(得分:3)

查看workerpool/__init__.py的来源,由于workerpoolimplicit relative imports似乎与Python 3不兼容。如,

from exceptions import *
from jobs import *
from pools import *
from workers import *

现在,如果您想解决此问题,可以将源编辑为:

from .exceptions import *
from .jobs import *
from .pools import *
from .workers import *

如果所有隐式相对导入都已修复,那么浏览其余的源文件看起来可能会有效。


在Python 3中,Queue模块已重命名为queue。要解决此问题,您可以更改:

from Queue import Queue

要:

from queue import Queue

或者,如果你想同时支持两者:

try:
    from queue import Queue
except ImportError:
    from Queue import Queue

导入发生在: