Re: [Python-de] multiprocessing ohne sem_open
Mike Müller <mmueller@python-academy.de> writes:
Am 05.02.15 um 21:04 schrieb Оlе Ѕtrеісhеr:
ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) writes:
bekomme ich unter Python2.7 einen ImportError. Wenn ich es unter Python3.4 mache, gibt es dagegen einen NotImplementedError.
... einen AttributeError, was tatsächlich völlig unverständlich ist.
Schau mal nach ob du wirklich multiprocessing importiert hast.
Ja klar, habe ich. Das Paket wird identisch installiert auf einem Dutzend Plattformen.
Hinweis: Am Besten immer vollständige Tracebacks mitschicken und nicht nur den Namen der Fehlerklasse.
Das ist 3.4.2: self = <multiprocessing.context.DefaultContext object at 0x1449b0c>, maxsize = 0 def Queue(self, maxsize=0): '''Returns a queue object''' from .queues import Queue
return Queue(maxsize, ctx=self.get_context())
/usr/lib/python3.4/multiprocessing/context.py:101: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <multiprocessing.queues.Queue object at 0x511e8cc>, maxsize = 0 def __init__(self, maxsize=0, *, ctx): if maxsize <= 0:
maxsize = _multiprocessing.SemLock.SEM_VALUE_MAX
E AttributeError: 'module' object has no attribute 'SemLock' /usr/lib/python3.4/multiprocessing/queues.py:38: AttributeError und das ist 2.7.9: maxsize = 0 def Queue(maxsize=0): ''' Returns a queue object '''
from multiprocessing.queues import Queue
/usr/lib/python2.7/multiprocessing/__init__.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __all__ = ['Queue', 'SimpleQueue', 'JoinableQueue'] import sys import os import threading import collections import time import atexit import weakref from Queue import Empty, Full import _multiprocessing from multiprocessing import Pipe
from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition
/usr/lib/python2.7/multiprocessing/queues.py:48: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Condition', 'Event' ] import threading import os import sys from time import time as _time, sleep as _sleep import _multiprocessing from multiprocessing.process import current_process from multiprocessing.util import Finalize, register_after_fork, debug from multiprocessing.forking import assert_spawning, Popen # Try to import the mp.synchronize module cleanly, if it fails # raise ImportError for platforms lacking a working sem_open implementation. # See issue 3770 try: from _multiprocessing import SemLock except (ImportError): raise ImportError("This platform lacks a functioning sem_open" + " implementation, therefore, the required" + " synchronization primitives needed will not" +
" function, see issue 3770.")
E ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770. /usr/lib/python2.7/multiprocessing/synchronize.py:59: ImportError Beides direkt kopiert aus dem entsprechenden Unittest-Fehlerreport.
participants (1)
-
ole-usenet-spam@gmx.net