具体错误描述:
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
此类错误的原因:
1、在安装python时没有挂载/dev/shm 或者 对于 /dev/shm没有写的权限,此时在安装python时不能够开启 sem_open。
此类问题的解决方法:
1、需要root权限部分的操作:
修改/etc/fstab 增加: tmpfs /dev/shm tmpfs defaults 0 0
mount /dev/shm
chmod 777 /dev/shm
2、不需要root权限部分的操作:
1、重新安装python
从 python 官网 下载源码,解压;
进入解压后的python文件夹;
执行: ./configure --prefix=/home/work/tmp/houjincheng/Python27
make && make install
2、重新安装pip
安装 setuptools:
wget --no-check-certificate http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz
tar -xzvf setuptools-2.0.tar.gz
cd setuptools-2.0
/home/work/tmp/houjincheng/python27/bin/python setup.py install
安装pip:
wget --no-check-certificate https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7
tar -xzf pip-8.1.1.tar.gz
cd pip-8.1.1
/home/liudiwei/software/python27/bin/python setup.py install
所有工作完成,此时可以搜索一个multiprocessing 中使用 Pool的代码,运行,看看运行结果。
网友评论