如何为Window 10 Maya 2017 python编译python c扩展



在让我的python setup.py与setuptools和专用的microsoft VC(适用于python 2.7的microsoft Visual C++编译器包(一起工作并成功地在windows 10上编译了我的扩展之后,发现包含Maya 2017的python可执行文件(mayapy(是用不同的版本编译的,请参阅下文。

c:>pythonPython 2.7.1(r271:868322010年11月27日17:19:03([MSC v.1500 64位(AMD64(]在win32 上

c:>"Program Files\Autodesk\Maya2017\bin\mayapy.exe"Python 2.7.11(默认,2015年12月21日22:48:54([MSC v.1700 64位(AMD64(]在win32 上

我也安装了Visual Studio 12,这似乎是正确的编译器版本。

但是我如何告诉setuptools使用那个版本呢?

感谢

快速而肮脏的方法是使用VS2012 x64 Native Tools的命令提示符在命令行上编译所需的DLL。与Maya 2017中的mayapy.exe匹配的版本。

要编译c代码,请使用cl。您可能需要使用/I指向Python 2.7包含文件。

cl/DL/I。。\include/I C:\Python27\include

因为链接器可能无法找到"python27.lib",所以您也可以使用/LIBPATH手动链接以指向Python 2.7 libs目录。

link/DLL/LIBPATH:C:\Python27\libs*.obj

这将为您提供一个DLL和与mayapy.exe编译器匹配的中间文件。

脏的部分。使用python setup.py Build构建扩展。这将为您提供一个模块,该模块将在常规python解释器中导入。删除"build"文件夹中的"lib*"目录。将".obj"、".exp"和dll复制到构建文件夹中的临时文件夹,类似于"temp.win-ad64-2.7\Release \\src"。

然后再次运行python setup.py build。脏是的,快,一旦你知道该怎么做…

最新更新