Testing tools core features - Build ToolsĪfter installing this and running the above example again I ran into a linker error: LINK : fatal error LNK1158.In the installer I selected in "workloads" the C++ build tools.
I couldn't download this version anymore from microsoft so I downloaded visual studio installer: Visual Build Tools 2019. Cython with Python 3.7 needs Visual C++ 2015 (14.0).
This now throws an error : Unable to find vcvarsall.bat Anaconda comes with Cython installed, but not with the MSC compiler.
It is build with the Microsoft compiler not with MinGW (in python sys.version reports: MSC v.1915 64 bit (AMD64). I started with Anaconda (using : Anaconda 2019.10 for Windows Installer - Python 3.7 version 64 bit)).If you use GCC as C++ compiler your extension will not be binary compatible with other C++ libraries or COM, not be compatible with Python's C runtime, and differences in exception handling between GCC and MSVC can crash your application.Īlthough not the answer for windows 10, but windows 7. This is very important on a platform like Windows where C++ is pervasive (cf. For this reason, always use Microsoft's compiler for C++, even on 32-bit x86. If you use C++ in your extension, the C++ runtime must also be compatible with Python's C runtime. ** For C++, observe that GCC (Mingw) and MSVC use different C++ runtimes. Microsoft's platform C/C++ compiler for Windows is free of charge. This is no different from selecting GCC as the compiler of choice on Linux. To be binary compatible with most libraries and applications on Windows, use Microsoft's compiler. Note that GCC is not the platform C compiler on Windows. ** Those with experience from Linux or Apple MacOSX might pick GCC (MinGW) as their C/C++ compiler of choice on Windows. To stay on the safe side, avoid MinGW-w64 for now. There have also been issues with the mingw runtime conflicting with the MSVC runtime this can happen from places you don't expect, such as inside runtime libraries for g++ or gfortran. There is no official MinGW-w64 release yet, it is still in "beta" and considered unstable, although you can get a 64-bit build from e.g. libpython27.a) is omitted from the AMD64 version of Python. As you will notice, the MinGW import library for Python (e.g. It come from these webpage and should correct the corresponding errorsĦ: try the first or second test on this page both were working for me after step 5Īre you sure that using MinGW-w64 is ok? In the Cython Wiki, they say that it is not recommended:
Ok I solved the problem on Windows 10 with Anaconda using python 3.6.5 and MSC v.1900 64 bit (informations given by running : import sysġ: install cython by running conda install -c anaconda cython in Anaconda promptĢ: go in C:\Users\Utilisateur\Anaconda3\Lib\distutils or wherever your distutils library is the create a distutils.cfg file (by using the notepad) and put ģ: get the latest version of Mingw-w64 (not just Mingw which support just 32 bits) at and install itĤ: add C:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin to your Path here is a link on how to do that on windows 10: ĥ: install libpython and m2w64-toolchain in your anaconda envirement by running conda install -c anaconda libpython and conda install -c msys2 m2w64-toolchain
The other methode with MinGW return an error: 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_f -LC:\Users\Utilisateur\Anaconda3\libs -LC:\Users\Utilisateur\Anaconda3\PCbuild\amd64 -lpython36 -lmsvcr140 -o C:\Users\Utilisateur\Documents\hello.cp36-win_amd64.pydĬ:/mingw/bin/./lib/gcc/mingw32/6.3.0/././././mingw32/bin/ld.exe: cannot find -lmsvcr140Ĭollect2.exe: erreur : ld a retourné 1 code d'état d'exécutionĮrror: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1 I try to follow all those methods and more but in vain for now:Ĭonda install is done but the problem is to link the compiler to python, all the method using windows SDK and espescially the SDK command prompt are outdated, this prompt doesn't exist on Visual studio 2015 and the setenv function doesn't exist anymore either so impossible to execute 'setenv \圆4 \release' and without this step the code doesn't work. For things that I wasn't able to get or do on windows 10. I search for hours and there are a lot of tutorials.
It's all in the title, does someone have a step by step method to install cython and run it on Anaconda 64 bits on Windows 10?