Ошибка импорта ZeroVM: нет модуля с именем потока
При работе над небольшим приложением ZeroVM, которое будет работать на ZeroCloud (то есть интеграции ZeroVM со Swift), и при попытке импортировать многопроцессорный модуль я получаю сообщение об ошибке:
Traceback (most recent call last):
File "test.py", line 1, in <module>
import multiprocessing
File "/lib/python2.7/multiprocessing/__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "/lib/python2.7/multiprocessing/util.py", line 38, in <module>
import threading # we want threading to install it's
File "/lib/python2.7/threading.py", line 6, in <module>
import thread
ImportError: No module named thread
Это почему?
1 ответ
Решение
В настоящее время нет поддержки многопоточности или многопроцессорности в ZeroVM. Документ о статусе Python перечисляет оба модуля как неподдерживаемые.
Платформа ZeroVM представляет собой однопотоковую однопотоковую среду. Тем не менее, есть порт pthreads. Вместо обычной многопоточности с предварительным доступом этот порт использует совместную многозадачность. Возможно, можно использовать это, чтобы включить некоторую форму потоков в порте ZeroVM Python.