OSError 38 [Errno 38] avec le multitraitement
Je vais avoir le message d'erreur suivant:
$ sudo chmod a+rwxt /dev/shm/
$ ls -ld /dev/shm/
drwxrwxrwt 2 root root 4096 Feb 4 06:56 /dev/shm/
$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> mp = multiprocessing.Pool(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/multiprocessing/__init__.py", line 227, in Pool
return Pool(processes, initializer, initargs)
File "/usr/lib/python2.6/multiprocessing/pool.py", line 84, in __init__
self._setup_queues()
File "/usr/lib/python2.6/multiprocessing/pool.py", line 131, in _setup_queues
self._inqueue = SimpleQueue()
File "/usr/lib/python2.6/multiprocessing/queues.py", line 328, in __init__
self._rlock = Lock()
File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 117, in __init__
SemLock.__init__(self, SEMAPHORE, 1, 1)
File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 49, in __init__
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 38] Function not implemented
Quoi d'autre pourrait être la raison de cette erreur (en dehors de lecture/écriture sur /dev/shm)?
Merci!
avez-vous compiler python à partir de la source?
Avez-vous vérifier cette question: stackoverflow.com/questions/3314031/...
il paraît que c'est une debian amd64 et de la ppc spécifique bug...
ce n'est pas ce que vous en pensez. Lire stackoverflow.com/questions/3314031/...
Pas vraiment, je suis en train de vivre sur un arm9 système: stackoverflow.com/questions/21069668/...
Avez-vous vérifier cette question: stackoverflow.com/questions/3314031/...
il paraît que c'est une debian amd64 et de la ppc spécifique bug...
ce n'est pas ce que vous en pensez. Lire stackoverflow.com/questions/3314031/...
Pas vraiment, je suis en train de vivre sur un arm9 système: stackoverflow.com/questions/21069668/...
OriginalL'auteur xyz-123 | 2011-05-17
Vous devez vous connecter pour publier un commentaire.
Pour quelqu'un d'autre de venir ici à partir de Google, la réponse est à Django mise en Œuvre de Céleri - OSError errno 38 - Fonction non implémentée:
Au lieu de le redémarrer,
sudo mount /dev/shm
œuvres.Je ne peux pas faire de sudo. Est-il une alternative?
OriginalL'auteur Christian B
Je soupçonne que cela a à faire quelque chose avec ça:
http://bugs.python.org/issue3770
De l'Python docs:
Cela peut ou peut ne pas être liées, puisqu'il parle de
multiprocessing.synchronize
, mais ce que je comprends, certaines implémentations, sur certaines plateformes, il suffit de ne pas mettre en œuvre le sémaphore de l'API python s'appuie sur ici, qui peut être votre problème.il ne peut pas être une erreur d'importation qu'il y a d'autres pièces du module que l'on peut utiliser
Je ne suis pas tout à fait sûr. En regardant le code source C, il y a plusieurs endroits à partir de laquelle un OSError peut être levée. Si oui ou non ils sont jetés, mais ils semblent être basés sur le système d'exploitation valeur de l'erreur (par exemple, errno ou GetLastError()).
OriginalL'auteur Boaz Yaniv