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).