Python 3.7: невозможно установить gmpy2 в venv в Windows 10

Я пытаюсь установить gmpy2 в виртуальной среде в Windows 10.

Первоначально я получал следующую ошибку.

Collecting gmpy2
  Using cached https://files.pythonhosted.org/packages/90/f4/9a2e384b325b69bc5827b9a6510a8fb4a51698c915c06a3f25a86458892a/gmpy2-2.0.8.zip
Installing collected packages: gmpy2
    Running setup.py install for gmpy2: started
    Running setup.py install for gmpy2: finished with status 'error'

    ERROR: Command errored out with exit status 1:
     command: 'C:\Workspace\path\to\project\venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\setup.py'"'"'; __file__='"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\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\biles\AppData\Local\Temp\pip-record-p2f519dp\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Workspace\path\to\project\venv\include\site\python3.7\gmpy2'
         cwd: C:\Users\biles\AppData\Local\Temp\pycharm-packaging\gmpy2\
    Complete output (5 lines):
    running install
    running build
    running build_ext
    building 'gmpy2' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Workspace\path\to\project\venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\setup.py'"'"'; __file__='"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\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\biles\AppData\Local\Temp\pip-record-p2f519dp\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Workspace\path\to\project\venv\include\site\python3.7\gmpy2' Check the logs for full command output.

Мне удалось обойти эту ошибку, установив Инструменты сборки для Visual Studio с сайта https://visualstudio.microsoft.com/downloads/.

Я попробовал еще раз, и на этот раз я получил следующую ошибку.

Collecting gmpy2
  Using cached https://files.pythonhosted.org/packages/90/f4/9a2e384b325b69bc5827b9a6510a8fb4a51698c915c06a3f25a86458892a/gmpy2-2.0.8.zip
Installing collected packages: gmpy2
    Running setup.py install for gmpy2: started
    Running setup.py install for gmpy2: finished with status 'error'

    ERROR: Command errored out with exit status 1:
     command: 'C:\Workspace\path\to\project\venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\setup.py'"'"'; __file__='"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\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\biles\AppData\Local\Temp\pip-record-i495p48z\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Workspace\path\to\project\venv\include\site\python3.7\gmpy2'
         cwd: C:\Users\biles\AppData\Local\Temp\pycharm-packaging\gmpy2\
    Complete output (12 lines):
    running install
    running build
    running build_ext
    building 'gmpy2' extension
    creating build
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    creating build\temp.win32-3.7\Release\src
    C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DMPIR -DWITHMPFR -DWITHMPC -IC:\Workspace\path\to\project\venv\include -IC:\Users\biles\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\biles\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcsrc\gmpy2.c /Fobuild\temp.win32-3.7\Release\src\gmpy2.obj
    gmpy2.c
    C:\Users\biles\AppData\Local\Temp\pycharm-packaging\gmpy2\src\gmpy.h(104): fatal error C1083: Cannot open include file: 'mpir.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.24.28314\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Workspace\path\to\project\venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\setup.py'"'"'; __file__='"'"'C:\\Users\\biles\\AppData\\Local\\Temp\\pycharm-packaging\\gmpy2\\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\biles\AppData\Local\Temp\pip-record-i495p48z\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Workspace\path\to\project\venv\include\site\python3.7\gmpy2' Check the logs for full command output.

Я попытался указать версию 2.1.0a4, затем 2.1.0a2, а затем 2.0.8. Но я получил ту же ошибку.

Примечание. Я пытаюсь установить этот пакет через Настройки PyCharm -> Интерпретатор проекта.


person Bilesh Ganguly    schedule 24.12.2019    source источник
comment
Я думаю, вам нужно установить библиотеку mpi. mpir.h не найден   -  person keiv.fly    schedule 24.12.2019
comment
@keiv.fly - Как мне это установить?   -  person Bilesh Ganguly    schedule 24.12.2019
comment
stackoverflow.com/questions/40075271 /   -  person keiv.fly    schedule 24.12.2019


Ответы (1)


Установка gmpy2 в Windows 10

  1. Перейдите на страницу https://visualstudio.microsoft.com/downloads/ и загрузите Инструменты сборки. для Visual Studio
  2. Запустите загруженный исполняемый файл и установите последние библиотеки для C++.
  3. Перейдите на страницу https://www.lfd.uci.edu/~gohlke/pythonlibs/ и загрузите двоичные файлы для gmpy2, соответствующие вашей версии Python.
  4. Установите колесо с помощью приведенной ниже команды.

    pip install C:\path\to\wheel\gmpy2-2.0.8-cp37-cp37m-win32.whl
    

Используя эти шаги, я смог успешно установить gmpy2 в свою виртуальную среду. Пожалуйста, обратитесь к следующему снимку экрана.

установка gmpy2

Примечание. В моем случае это был gmpy2-2.0.8-cp37-cp37m-win32.whl, потому что мой интерпретатор проекта был Python 3.7. cp37 в имени файла означает CPython 3.7. Если вы не получите правильные двоичные файлы, вы получите следующую ошибку.

gmpy2-2.0.8-cp38-cp38-win32.whl is not a supported wheel on this platform.

Спасибо @keiv.fly :)

person Bilesh Ganguly    schedule 24.12.2019