如何更改Maya 2013中的Python版本?

3 投票
1 回答
6155 浏览
提问于 2025-04-17 14:29

我想在Maya 2013里写一个Python脚本,这个脚本需要用到一个用SWIG封装的pyd库,而这个库是用Python 2.7编译的。不过,我不能把这个pyd库在Python 2.6.4上重建,因为Maya只能用这个版本。结果,Maya就报了这个错:

Module use of python27.dll conflicts with this version of Python. # 

我该怎么做才能让Maya使用Python 2.7呢?我已经尝试过调整一些常见的环境变量(比如PYTHON_PATH、PYTHONHOME等),但都没有成功。

1 个回答

4

Maya并不是使用你安装的Python,而是自带了一个2.6版本的Python,这个版本是软件自带的。

不过,你可以通过设置一个叫做PYTHONHOME的环境变量来改变这一点。下面的文章会告诉你怎么做,以及如何检查设置是否正确:

在Maya中选择Python

简单来说,这篇文章可以总结为三个步骤:

  1. 创建一个环境变量PYTHONHOME,并把它指向你想要的Python版本(比如C:\Python27)。
  2. 把你“Maya目录下的”\Python\Lib\site-packages(例如C:\Program Files (x86)\Autodesk\Maya2013\Python\Lib\site-packages)里的文件复制到“PYTHONHOME”\Lib\site-packages(例如C:\Python27\Lib\site-packages)里。
  3. 重启Maya,看看一切是否正常!你可以通过在Maya的“脚本编辑器”中运行以下代码来检查正在使用哪个Python:

    import sys
    print sys.prefix
    

特别注意第二步,文章强调了在你更改环境变量后,如何让Maya的库正常工作。如果你没有正确完成最后一步,可能会发现打印信息出现在“输出窗口”而不是“脚本编辑器”里。

我已经测试了这篇文章中的步骤,一切都正常。版本更改在Python 2.6和Python 2.7上都有效!不过,我没有深入测试所有功能,所以不确定Python API的所有方面在2.7上是否都能正常工作。

撰写回答