Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 该平台缺少一个功能正常的sem_开放实现,此外,还缺少所需的同步原语_Python_Termux - Fatal编程技术网

Python 该平台缺少一个功能正常的sem_开放实现,此外,还缺少所需的同步原语

Python 该平台缺少一个功能正常的sem_开放实现,此外,还缺少所需的同步原语,python,termux,Python,Termux,我使用Termux在Android手机上安装了python 3.7.3。当我在PythonShell中尝试从多处理导入同步时,我收到了上面的错误。这是我的密码 from multiprocessing import synchronize 这是回溯 Traceback (most recent call last): File "/data/data/com.termux/files/usr/lib/python3.7/multiprocessing/synchronize.py", lin

我使用Termux在Android手机上安装了python 3.7.3。当我在PythonShell中尝试从多处理导入同步时,我收到了上面的错误。这是我的密码

from multiprocessing import synchronize 
这是回溯

Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.7/multiprocessing/synchronize.py", line 28, in <module>
from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock' from '_multiprocessing' (/data/data/com.termux/files/home/storage/predictions/env/lib/python3.7/lib-dynload/_multiprocessing.cpython-37m.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/data/data/com.termux/files/usr/lib/python3.7/multiprocessing/synchronize.py", line 32, in <module>
" synchronization primitives needed will not" +
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

之后,我试图看到提到3770的问题,但似乎在官方网站上的url是不工作的。有人能帮我解决这个问题吗?

这个问题在你成为安卓开发者之前是无法解决的,正如错误消息本身所说的那样


sem_open是一个用于初始化或打开现有POSIX信号量的函数。信号量是线程之间共享的变量,是一个系统级组件。Android发行版缺少此组件,因此,您无法使用同步。

此问题无法解决,除非您是Android开发人员,如错误消息本身所述


sem_open是一个用于初始化或打开现有POSIX信号量的函数。信号量是线程之间共享的变量,是一个系统级组件。Android发行版缺少此组件,因此,您无法使用同步。

我花了很多时间来解决此问题,并决定在termux github页面上打开bug report,并从termux开发者那里得到答案Android支持多处理,但不支持信号量。
这里是问题和问答线程的完整解释链接

我花了很多时间来解决这个问题,并决定在termux github页面上打开bug报告,从termux开发者那里得到答案Android支持多处理,但不支持信号量。 这里有一个链接,可以完整解释问题和问答线索