Как установить Cython Anaconda 64 бит с Windows 10? - PullRequest
0 голосов
/ 18 октября 2018

Это все в названии, есть ли у кого-то пошаговый метод установки Cython и запуска его на Anaconda 64 bit на Windows 10?Я ищу часы, и есть много учебных пособий ... Для вещей, которые я не смог получить или сделать на Windows 10. Я пытаюсь следовать всем этим методам и многим другим, но пока напрасно: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_Cython_On_Anaconda_On_Windows?lang=en

https://github.com/cython/cython/wiki/CythonExtensionsOnWindows

Установка Conda завершена, но проблема в том, чтобы связать компилятор с python, все методы, использующие Windows SDK и особенно командную строку SDK, устарели, эта подсказка не существует наVisual Studio 2015 и функция setenv больше не существуют, поэтому невозможно выполнить 'setenv \ x64 \ release', и без этого шага код не работает.

Другой метод с MinGW возвращает ошибку:

C:\MinGW\bin\gcc.exe -shared -s build\temp.win-amd64-3.6\Release\hello.o build\temp.win-amd64-3.6\Release\hello.cp36-win_amd64.def -LC:\Users\Utilisateur\Anaconda3\libs -LC:\Users\Utilisateur\Anaconda3\PCbuild\amd64 -lpython36 -lmsvcr140 -o C:\Users\Utilisateur\Documents\hello.cp36-win_amd64.pyd
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lmsvcr140
collect2.exe: erreur : ld a retourné 1 code d'état d'exécution
error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1

, поэтому я не знаю, что делать дальше.

Помогите, пожалуйста.

Отчаявшийся студент

Ответы [ 2 ]

0 голосов
/ 28 апреля 2019

Вы уверены, что использовать MinGW-w64 можно?В Cython Wiki говорится, что это не рекомендуется:

** Не используйте MinGW-w64.Как вы заметите, библиотека импорта MinGW для Python (например, libpython27.a) отсутствует в версии Python для AMD64.Это намеренно.Не пытайтесь сделать один, используя dlltool.Официального релиза MinGW-w64 пока нет, он все еще находится в «бета-версии» и считается нестабильным, хотя вы можете получить 64-битную сборку, например, из TDM-GCC.Также были проблемы со средой выполнения Mingw, конфликтующей со средой выполнения MSVC;это может происходить в тех местах, которые вы не ожидаете, например, в библиотеках времени выполнения для g ++ или gfortran.Чтобы оставаться в безопасности, избегайте пока MinGW-w64.

** Те, кто имеет опыт работы с Linux или Apple MacOSX, могут выбрать GCC (MinGW) в качестве своего предпочтительного компилятора C / C ++ в Windows.Обратите внимание, что GCC не является компилятором платформы C в Windows.Чтобы быть двоично-совместимым с большинством библиотек и приложений в Windows, используйте компилятор Microsoft.Это ничем не отличается от выбора GCC в качестве предпочтительного компилятора в Linux.Компилятор Microsoft C / C ++ для Windows на платформе бесплатен.

** Для C ++ обратите внимание, что GCC (Mingw) и MSVC используют разные среды выполнения C ++.Если вы используете C ++ в своем расширении, среда исполнения C ++ также должна быть совместима со средой исполнения Python C.По этой причине всегда используйте компилятор Microsoft для C ++, даже на 32-битной x86.Это очень важно на такой платформе, как Windows, где C ++ широко распространен (см. COM и ActiveX).Если вы используете GCC в качестве компилятора C ++, ваше расширение не будет двоично совместимым с другими библиотеками C ++ или COM, не будет совместимо со средой исполнения Python C, и различия в обработке исключений между GCC и MSVC могут привести к сбою в вашем приложении.

0 голосов
/ 18 октября 2018

Хорошо, я решил проблему в Windows 10 с Anaconda, используя python 3.6.5 и MSC v.1900 64 bit (информация, полученная при запуске:

import sys
sys.version

, так вот метод:

1: установить cython, запустив conda install -c anaconda cython в приглашении Anaconda

2: перейдите в C:\Users\Utilisateur\Anaconda3\Lib\distutils или куда угодно, где находится ваша библиотека distutils, создайте файл distutils.cfg (с помощью блокнота) и введите

[build]           
compiler=mingw32 

в нем

3: получите последнюю версию Mingw-w64 (не только Mingw, которая поддерживает только 32 бита) на https://sourceforge.net/projects/mingw-w64/files/ и установите ее

4: добавьте C:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin к вашему пути, вот ссылка на то, как это сделать в Windows 10: https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/

5: установите libpython и m2w64-toolchain в среду anaconda, запустив conda install -c anaconda libpython иconda install -c msys2 m2w64-toolchain Он взят с этих веб-страниц https://python -at-risoe.pages.windenergy.dtu.dk / compiling-on-windows / common_errors.html и должен исправить соответствующие ошибки

6: попробуйте первый или второй тест на этой странице http://docs.cython.org/en/latest/src/quickstart/build.html оба работали для меня после шага 5

Надеюсь, это поможет!

...