经过一番痛苦之后,让我的python setup.py与setuptools和专用的Microsoft VC(适用于Python 2.7的Microsoft Visual C ++编译器软件包)一起工作,并成功在Windows 10上编译了扩展程序,事实证明Maya 2017包含了python可执行文件(mayapy)使用其他版本进行编译,请参见下文。
c:> python 在Win32上使用Python 2.7.1(r271:86832,2010年11月27日,17:19:03)[MSC v.1500 64位(AMD64)]
c:>“ Program Files \ Autodesk \ Maya2017 \ bin \ mayapy.exe” 在Win32上的Python 2.7.11(默认值,2015年12月21日,22:48:54)[MSC v.1700 64位(AMD64)]
我也安装了Visual Studio 12,这似乎是正确的编译器版本。
但是我如何告诉setuptools使用该版本?
谢谢
答案 0 :(得分:0)
一种快速而肮脏的方法是使用VS2012 x64本机工具的命令提示符在命令行上编译所需的DLL。与Maya 2017中的mayapy.exe匹配的版本。
使用cl编译c代码。您可能需要使用/ I指向Python 2.7包含文件。
cl / DL / I .. \ include / I C:\ Python27 \ include
由于链接器可能无法找到“ python27.lib”,因此您也可以使用/ LIBPATH手动链接以指向Python 2.7 libs目录。
链接/ DLL / LIBPATH:C:\ Python27 \ libs * .obj
这将为您提供一个DLL和与mayapy.exe编译器匹配的中间文件。
脏部分。 使用python setup.py build构建扩展。这将为您提供一个将在常规python解释器中导入的模块。删除“ build”文件夹中的“ lib *”目录。将“ .obj”,“。exp”和dll复制到build文件夹中的temp文件夹中,例如“ temp.win-amd64-2.7 \ Release \\ src”。
然后再次运行python setup.py构建。 肮脏的,很快,一旦您知道该怎么做...