python - 如何更改 Maya 2013 中的 python 版本?

标签 python scripting swig maya

我打算在 Maya 2013 中编写一个 python 脚本,该脚本使用 SWIG 包装的 pyd 库,该库是使用 Python 2.7 编译的。我无法在 Python 2.6.4 中重建 pyd,这是 Maya 绑定(bind)的版本。 Maya当然会给出这个错误

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

如何更改它以便 Maya 使用 Python 2.7?我已经尝试修改通常的(PYTHON_PATH、PYTHONHOME 等)环境变量,但没有成功。

最佳答案

Maya 不使用您安装的 Python,而是使用软件附带的自己的 2.6 版 Python。

但是,可以通过设置 PYTHONHOME 环境变量来更改它。以下文章介绍了如何执行此操作以及如何检查其设置是否正确:

Choose Python Inside Maya

基本上,这篇文章可以概括为3个步骤:

  1. 创建一个环境变量 PYTHONHOME 并设置它指向 您想要的 Python 版本(例如 C:\Python27)。
  2. 从“MayaDirectory”\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
    

请特别注意第 2 步,文章强调了如何在更改环境变量后使 Maya 的库正常工作。请注意,如果您没有正确完成这最后一步,打印语句可能会开始出现在您的“输出窗口”而不是“脚本编辑器”中。

我已经测试了链接文章中的步骤,一切正常。版本更改适用于 Python 2.6 和 Python 2.7!但是,我还没有对所有内容进行广泛测试以了解 Python API 的所有方面是否都适用于 2.7。

关于python - 如何更改 Maya 2013 中的 python 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14656593/

相关文章:

python - Flask-SQLAlchemy 检查数据库服务器是否响应

php - 使用 PHP 从 HTML 表中读取数据

java - Java 脚本引擎用在哪里?

python - SWIG 和 Boost::变体

python - 如何为双指针结构参数应用 SWIG 类型映射

当函数采用非平凡参数时,通过 SWIG 使用 python 进行 C++ 回调?

python - Pandas 和应用函数来匹配一个字符串

python - 如何获取 python 依赖项/模块的版本,包括通过 subprocess.Popen 调用的外部应用程序?

python - OSError at/user/1/edit [Errno 13] 权限被拒绝 : '/home/django/django_project/media/profile_pics/Square.jpg'

linux - 当我第二次运行 bash 脚本时,从特定行启动它