ValueError: семафор или блокировка выпущены слишком много раз?
Я ValueError: semaphore or lock released too many times
когда я пытаюсь сделать pip install matplotlib
в Cygwin. Что мне делать?
обновление:
$ 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
2 ответов
Я не уверен, что это проблема с новейшей (стабильной) сборкой matplotlib, но я столкнулся с той же проблемой.
моим решением было установить более старую стабильную версию (1.2.1).
скачать the 1.2.1 tar-файл, распаковать и установить. не при установке используйте параметр компилятора cygwin. т. е.
python setup.py build --compiler=cygwin
будет плохо (для меня), в то время как обычный
python setup.py build
будет работа. Конечно, вы захотите продолжить с
python setup.py install
Примечание.: Я совсем недавно cygwin64. Я уже установил все зависимости. Я также попытался установить 1.3.0 через Пип а также источник. Оба бросили ту же самую точную ошибку, которую вы описали здесь.
попробуйте обновить пакет "cygwin" до версии 1.7.26 (http://cygwin.1069669.n5.nabble.com/Problem-with-multiprocessing-module-from-Python-td103816.html).