ValueError:信号量或锁释放次数太多了?

时间:2013-08-30 04:57:37

标签: python matplotlib cygwin pip

当我尝试在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

2 个答案:

答案 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)