“模块使用python34.dll与此版本的Python冲突”

时间:2017-02-08 07:38:47

标签: pyside python-3.4 maya pyqt5 qtwidgets

我对Python的了解仍然非常基础,我现在只是试图在Maya中如何使用/调用库。 (因为我需要从QT Designer创建一个基本UI,并在将其转换为.py文件后在Maya中打开)

在我学会将.ui正确转换为.py后,我现在在Maya中收到此错误

  

“模块使用python34.dll与此版本的Python冲突”

我尝试按照herehere的说法进行操作,但即便如此 - 在设置这些环境变量之后......

  

PYTHONHOME = C:\ Program Files \ Autodesk \ Maya2016 \ bin \ maya.exe

     

PYTHONPATH = C:\ Python34

...我还是无法运行基本的.py文件。事实上 - 只要PYTHONHOME变量生效,Maya内部的Python就不再做任何事情了。

下面这段代码是我转换从QT Designer中保存的.ui文件得到的python文件。

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'test.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")

        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())

我遇到了一些不同的在线笔记,建议使用PySide,并尝试使用后:

from PySide.QtCore import *
from PySide.QtGui import *

我仍然无法测试这是否有效,因为显然QtWidgets不是模块?

我很丢失。更大的局面是我只想运行Maya脚本编辑器中的QT Designer创建的UI。我不知道从哪里开始学习图书馆。这里的任何人都可以提供一些建议吗?

其他信息:

I am using Maya 2016, running on a Windows 10 64 bit OS.
I also have a Python 2.7 in my C: drive 
And I am using PyQt5-5.4.1-gpl-Py3.4-Qt5.4.1-x64

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

Maya的python解释器在2.7系列中(或者对于Maya 2013及更早版本为2.6)。你的PYTHONPATH指向python 3.4安装。您还需要确保如果您的Python 3.4在PATH中,它晚于maya python安装位置。这一切都是为了确保Maya不会混淆并尝试运行它无法处理的python 3代码或dll。

此外,Maya 2016正在PyQT4上运行。 Maya 2017在PyQT5上运行。所以你可能想要使用设计师的PyQT4版本

相关: