这都在标题里,有没有人有一个循序渐进的方法来安装cython并在Windows 10上的64位Anaconda上运行它? 我找了几个小时,有很多教程。。。因为我在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,所有使用WindowsSDK的方法,特别是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
所以我不知道下一步该怎么办。
请帮忙。
绝望的学生
虽然不是windows 10的答案,而是windows 7。我想告诉你我是怎么做到的。
这将引发一个错误:
Unable to find vcvarsall.bat
I取消选择:
我选择了:
在安装这个并再次运行上面的示例之后,我遇到了一个链接器错误:
LINK : fatal error LNK1158
3)在目录的某个子目录中
C:\Program files (x86)\Windows Kits
我找到了文件:rc.exe
和rcdll.dll
我把它们复制到MSVC的bin目录中:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
这使得链接器错误消失,cython示例工作! 我还没有试过其他的,但我希望这是所有需要做的。 希望这能帮助别人。
好的,我用python 3.6.5和MSC v.1900 64位在Windows 10上用Anaconda解决了这个问题(通过运行:
下面是方法:
1:在Anaconda提示符下运行
conda install -c anaconda cython
安装cython2:进入
C:\Users\Utilisateur\Anaconda3\Lib\distutils
或distutils库所在的位置(使用记事本)创建distutils.cfg文件并在里面
3:在https://sourceforge.net/projects/mingw-w64/files/处获取最新版本的Mingw-w64(不只是支持32位的Mingw),然后安装它
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:通过运行
conda install -c anaconda libpython
和conda install -c msys2 m2w64-toolchain
,在anaconda环境中安装libpython和m2w64工具链 它来自这些网页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之后,这两个测试都对我有效
希望能有帮助!
您确定使用MinGW-w64可以吗?在Cython Wiki中,他们说不建议:
**请勿使用MinGW-w64。正如您将注意到的,用于Python的MinGW导入库(例如libpython27.a)在AMD64版本的Python中被省略了。这是故意的。不要试图使用dlltool制作。目前还没有正式的MinGW-w64版本,它仍然处于“测试版”中,被认为是不稳定的,尽管您可以从TDM-GCC获得64位版本。mingw运行时也存在与MSVC运行时冲突的问题;这可能发生在您不期望的地方,例如g++或gfortran的运行库内部。为了安全起见,暂时避免使用MinGW-w64。
<> **有经验的Linux或苹果MaCOSX可能选择GCC(MINW)作为他们在Windows上选择的C/C++编译器。注意,GCC不是Windows上的platform C编译器。要与Windows上的大多数库和应用程序保持二进制兼容,请使用Microsoft的编译器。这与在Linux上选择GCC作为编译器没有区别。微软的Windows平台C/C++编译器是免费的。 对于C++,观察GCC(MIWW)和MSVC使用不同的C++运行时。如果在扩展中使用C++,C++运行时还必须与Python的C运行时兼容。为此,总是使用微软的C++编译器,甚至在32位x86上。在Windows这样的平台上,这是非常重要的,其中C++是普遍存在的(参见COM和ActiveX)。如果使用GCC作为C++编译器,则扩展不会与其他C++库或COM二进制兼容,不兼容Python的C运行时,而GCC和MSVC之间异常处理的差异会使应用程序崩溃。相关问题 更多 >
编程相关推荐