我正在尝试使用一个名为CatMAP的程序,该程序大量使用了gmpy依赖项(根据安装说明,我认为它是gmpy,而不是gmpy2)。

我通过Anaconda拥有Python 2.7.12,但是在安装gmpy时遇到很多麻烦。执行pip install gmpy不起作用,并且在Anaconda Cloud上找到的所有版本都适用于Linux。有什么建议么?

pip install方法的错误消息如下所示:

Collecting gmpy
  Using cached gmpy-1.17.zip
Building wheels for collected packages: gmpy
  Running setup.py bdist_wheel for gmpy ... error
  Complete output from command C:\Users\andre\Anaconda3\envs\python2\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\andre\\appdata\\local\\temp\\pip-build-wu9jm7\\gmpy\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d c:\users\andre\appdata\local\temp\tmphhh_2jpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_ext
  building 'gmpy' extension
  creating build
  creating build\temp.win-amd64-2.7
  creating build\temp.win-amd64-2.7\Release
  creating build\temp.win-amd64-2.7\Release\src
  C:\Users\andre\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Users\andre\Anaconda3\envs\python2\include -IC:\Users\andre\Anaconda3\envs\python2\PC /Tcsrc/gmpy.c /Fobuild\temp.win-amd64-2.7\Release\src/gmpy.obj
  gmpy.c
  c:\users\andre\appdata\local\temp\pip-build-wu9jm7\gmpy\src\gmpy.h(30) : fatal error C1083: Cannot open include file: 'gmp.h': No such file or directory
  error: command 'C:\\Users\\andre\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2

  ----------------------------------------
  Failed building wheel for gmpy
  Running setup.py clean for gmpy
Failed to build gmpy
Installing collected packages: gmpy
  Running setup.py install for gmpy ... error
    Complete output from command C:\Users\andre\Anaconda3\envs\python2\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\andre\\appdata\\local\\temp\\pip-build-wu9jm7\\gmpy\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\andre\appdata\local\temp\pip-uvzbnt-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'gmpy' extension
    creating build
    creating build\temp.win-amd64-2.7
    creating build\temp.win-amd64-2.7\Release
    creating build\temp.win-amd64-2.7\Release\src
    C:\Users\andre\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Users\andre\Anaconda3\envs\python2\include -IC:\Users\andre\Anaconda3\envs\python2\PC /Tcsrc/gmpy.c /Fobuild\temp.win-amd64-2.7\Release\src/gmpy.obj
    gmpy.c
    c:\users\andre\appdata\local\temp\pip-build-wu9jm7\gmpy\src\gmpy.h(30) : fatal error C1083: Cannot open include file: 'gmp.h': No such file or directory
    error: command 'C:\\Users\\andre\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2

    ----------------------------------------
Command "C:\Users\andre\Anaconda3\envs\python2\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\andre\\appdata\\local\\temp\\pip-build-wu9jm7\\gmpy\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\andre\appdata\local\temp\pip-uvzbnt-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\andre\appdata\local\temp\pip-build-wu9jm7\gmpy\

最佳答案

由于CatMAP使用mpmath,因此很有可能只需要gmpy来提高mpmath的性能。假设是这样,由于gmpy2支持mpmathgmpy,因此gmpy2将起作用。

您可以找到gmpygmpy2 here的pip兼容轮

10-08 01:15