How to install cython an Anaconda 64 bits with Windows 10?

12,544

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
sys.version

so here is the method:

1: install cython by running conda install -c anaconda cython in Anaconda prompt

2: 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

[build]           
compiler=mingw32 

in it

3: get the latest version of Mingw-w64 (not just Mingw which support just 32 bits) at https://sourceforge.net/projects/mingw-w64/files/ and install it

4: 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: https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/

5: install libpython and m2w64-toolchain in your anaconda envirement by running conda install -c anaconda libpython and conda install -c msys2 m2w64-toolchain It come from these webpage https://python-at-risoe.pages.windenergy.dtu.dk/compiling-on-windows/common_errors.html and should correct the corresponding errors

6: try the first or second test on this page http://docs.cython.org/en/latest/src/quickstart/build.html both were working for me after step 5

Hope it will help!

Share:
12,544
Admin
Author by

Admin

Updated on June 28, 2022

Comments

  • Admin
    Admin almost 2 years

    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? I search for hours and there are a lot of tutorials... For things that I wasn't able to get or do on windows 10. I try to follow all those methods and more but in vain for now: 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 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 \x64 \release' and without this step the code doesn't work.

    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_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
    

    so I don't know what to do next.

    Help please.

    A desperate student

  • Admin
    Admin almost 5 years
    It's way beyond my knowledge sorry, all I can say is that the solution I give above works for me. I used it on at least 3 different computers since october. And MinGW-w64 was the only compiler I found to use Cython with Anaconda 64-bits, but maybe other compilers exist which are compatible with Cython. For the C++ part, I only creates C library since october so I don't know if it works with a C++ library.