Windows下跨VC版本编译.pyd扩展(extension)模块

Windows下官方建议用与编译Python自身相同的Visual Studio版本来编译扩展模块,目前比较常用的Python版本对应的Visual Studio分别为:

Python 2.7 - Visual Studio 2008(9)

Python 3.3 & 3.4 - Visual Studio 2010(10)

Python 3.5 - Visual Studio 2015(14)

最近安装了一个Python 3.5,需要编译Fast R-CNN的Python扩展模块,电脑上安装的Visusal Studio版本只有2013,而且编译Fast R-CNN及其依赖项需要的CUDA Toolkit目前还不支持Visual Studio 2015。运行python setup.py build直接报错,显示错误为找不到vcvarsall.bat。

解决方法:

编辑Python安装目录/Lib/distutils/_msvccompiler.py,搜索这一行:

if version >= 14 and version > best_version:

这里14是distutils自动搜索系统中安装的Visual Studio最低版本(即2015),修改为12(即2013),保存,再次运行python setup.py build,成功启动编译,最后在链接阶段报错,提示找不到库文件ucrt.lib

这个ucrt.lib是Visual C++ 2015对C语言运行库进行重构后的产物,对应以前版本Visual C++中的msvcrt.lib,解决的办法也很简单,打开VC安装目录/lib,找到msvcrt.lib,复制一份并更名为ucrt.lib,再次运行python setup.py build,编译成功。

时间: 2024-11-03 11:25:17

Windows下跨VC版本编译.pyd扩展(extension)模块的相关文章

Windows下Wamp装不上Memcache扩展

windows下wamp装不上memcache扩展2015.03.20 No Comments 1,243 views用的是WAMP集成包,PHP版本5.5.12http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/下载Mamcache 4个压缩文件 测试有一个可以集成启动wamp不报错但在WAMP中PHP中显示叹号无加载.后翻阅资料发现 wamp 加载PHP.ini 在 bin/apache/apache2.4.9/bin/

Windows下用Composer引入官方GitHub扩展包

Windows下用Composer引入官方GitHub扩展包 1. 当你打开威武RC4版本的链接的时候,往下拉你可以看到这个,然后你要做的就是想到,百度Composer,看看是个什么鬼,别想太多,跟着我走.接下来点击Composer中文文档,再点击下载你会看到下载完后,点开如图所示点击next后发现不知道怎么继续,正常,这里是提示你选择php文件夹下面的php.exe文件,这里我选好再截图如下:到这里一般再点击下一步等上三分钟左右就没什么问题啦,这个随便你个人喜好,我是没有点直接一直next到f

Windows下Caffe在GPU编译过程

Windows下Caffe在GPU编译过程 GeForce8800 GTS512: cc=1.1 CUDA6.5 问题一: src/caffe/layers/conv_layer.cu(20): error : too few arguments in function call Error in in conv_layer.cu :forward_gpu_gemm needs the argument skip_im2col #1962 解决: https://github.com/BVLC/

在Windows下使用MinGW静态编译Assimp

使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要讲解如何在Windows下使用MinGW静态编译Assimp. Assimp是目前比较全的3D格式解析库了,熟悉3D游戏开发的同行都知道,3D的格式非常混乱,各种3D格式在不同场合都有他们特定的应用,游戏引擎只能够解析少部分3D格式,更多实用的格式来自游戏公司自定义的格式.而在开源领域,Assimp算是比较全的3D格式导入库了.它对3D格式理解深入,很适合整合至3D图形引擎中,让你们

Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法

在使用了 RTKLIB开源包自带的 rtkplot.exe后,知道了它所具有的功能,就想着如何模仿它做出一个 demo.一开始看的是之前下载的 2.4.2版本的 RTKLIB,里面是使用 Delphi开发的.由于我现在对 Qt比较熟悉,所以想着使用 Qt框架来开发这个 demo.在看源码的过程中,阴差阳错之间又去官网上重新下载了一次源码包,结果发现最新的 2.4.3版本里面就带有相关 App程序的 Qt实现.这样的话,就可以直接阅读现成的 Qt源码了.不过首先需要解决的问题是,要尝试将所给的源代

windows 下使用 MinGW + msys 编译 ffmpeg

本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但它同样可以在其它操作系统环境中编译运行,本文介绍的就是在windows下编译FFmpeg.一 编译准备    您最好新建一个目录专门用来保存以下下载的文件.1 下载 MinGW 和 MSYS    MinGW(Minimalist GNU on Windows):一个可自由使用和自由发布的Windo

Windows下QT4.8.4编译环境的搭建(转载http://blog.csdn.net/bestgonghuibin/article/details/38933141)

开始使用QT了,所以第一步就是把环境搭起来,这里小记一下,以免以后忘记. 1. 下载安装文件 要使用QT功能,那么必须要下载QT的源码,还必须要一个是用QT的编译环境,可以是VS2010,也可以是专用于QT编程的QT Creator.本人选择QT Creator,所以也必须要下载QT Creator. 根据网上大部分教程及自己买的书籍获取的信息,在选择版本的时候,QT 源码选择4.8.4,而QT Creator选择2.8.0(QT5.0以后许多原有的文件路径改变). 选择好版本之后,可以上QT的

windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)

平台:Win7,VS2010 1. Bullet库的组织 下图是Bullet_User_Manual中的截图: 从中可见,Bullet的LinearMath(线性数学模块),其上是BulletCollision(碰撞检测模块),然后BulletDynamics(刚体模拟模块)和BulletSoftBody(可变形体模拟模块)建立在BulletCollision之上,另外还有可选的导入导出插件和多线程模块.LinearMath.BulletCollision.BulletDynamics.Bull

sass学习笔记(一):sass在windows下的安装、编译

一.sass在windows下的安装 在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,可以在这里下载: https://www.ruby-lang.org/en/downloads/ Ruby 安装文件下载好后,可以按应用软件安装步骤进行安装 Ruby. Ruby 安装完成后,在开始菜单中找到新安装的 Ruby,并启动 Ruby 的 Command 控制面板Start Command Prompt with Ruby.接下来就可以安装 Sass 了. 1.通过命令安装 Sa