当我尝试在Cygwin中ValueError: semaphore or lock released too many times
时,我得到pip install matplotlib
。我该怎么办?
更新:
$ pip install matplotlib
Downloading/unpacking matplotlib
You are installing an externally hosted file. Future versions of pip will default to disallowing externally hosted files.
You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
Downloading matplotlib-1.3.0.tar.gz (42.1MB): 42.1MB downloaded
Running setup.py egg_info for package matplotlib
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [1.3.0]
python: yes [2.7.5 (default, Jul 30 2013, 14:34:22) [GCC
4.8.1]]
platform: yes [cygwin]
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [version 1.7.1]
dateutil: yes [using dateutil version 2.1]
tornado: yes [tornado was not found. It is required for the
WebAgg backend. pip/easy_install may attempt to
install it after matplotlib.]
pyparsing: yes [pyparsing was not found. It is required for
mathtext support. pip/easy_install may attempt to
install it after matplotlib.]
pycxx: yes [Couldn't import. Using local copy.]
libagg: yes [pkg-config information for 'libagg' could not
be found. Using local copy.]
freetype: yes [version 16.1.10]
png: yes [version 1.5.14]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [nose 0.11.1 or later is required to run the
matplotlib test suite]
OPTIONAL BACKEND EXTENSIONS
macosx: no [Mac OS-X only]
qt4agg: no [PyQt4 not found]
Process PoolWorker-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python2.7/multiprocessing/pool.py", line 102, in worker
task = get()
File "/usr/lib/python2.7/multiprocessing/queues.py", line 378, in get
rrelease()
ValueError: semaphore or lock released too many times
答案 0 :(得分:5)
我不确定它是否是最新(稳定)matplotlib版本的问题,但我也遇到了同样的问题。
我的解决方案是安装较旧的稳定版本( 1.2.1 )。
Download 1.2.1 tar文件,解压缩并安装。安装时不要使用cygwin编译器选项。即
python setup.py build --compiler=cygwin
会失败(对我而言),而通常
python setup.py build
会奏效。当然,您需要跟进
python setup.py install
注意: 我运行了一个非常新的cygwin64。 我已经安装了所有依赖项。 我还尝试通过点以及源安装 1.3.0 。两者都抛出了你在这里描述的完全错误。
答案 1 :(得分:0)
尝试将“cygwin”软件包升级到1.7.26版(http://cygwin.1069669.n5.nabble.com/Problem-with-multiprocessing-module-from-Python-td103816.html)。