使用python multithreading.Pool 做多线程,遭遇bug3770,如何解?
伊谢尔伦
伊谢尔伦 2017-04-17 14:27:09
0
2
1208

使用python multithreading.Pool 做多线程,遭遇bug3770,如何解?

Python版本:2.7.3
系统版本:centos release 4.3
出错语句:pool = Pool(4)
错误信息:ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770

简单来说是python不支持操作系统中关于共享信号量的设置。看了些别人的帖子,也看了python官网对这个bug的解释,但是都解决不了现在的问题。
操作系统改不了,有什么方法能绕过这个问题呀,求明白人支招~~~

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
黄舟

マルチスレッドまたはマルチプロセッシングを実行しますか?プールはマルチプロセスだったような記憶があります

いいねを押す +0
迷茫

添付は標準的な回答です:
原因: /dev/shm がマウントされていません。Python のインストール中に sem_open を有効にするために何かを書き込む必要があります。
解決策: (root 権限が必要です。次のコマンドを実行します) root アカウント)

  1. /etc/fstab を変更して次を追加します: tmpfs /dev/shm tmpfs defaults 0 0

  2. /dev/shm をマウント

  3. chmod 777 /dev/shm

  4. Python を再インストールします (再インストールする必要がありますが、方法はありません。インストール中にデバイスが存在するかどうかを確認し、存在する場合は sem_open を使用できます)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート