首页 > 解决方案 > 加载泡菜时,出现导入错误,“没有名为 sip 的模块”

问题描述

我正在用python制作一个允许您更改密码的程序。这是让您更改密码的部分:

def done_clicked(self):
    password_filea = open("password.pkl", "r")
    password_check = pickle.load(password_filea)
    username_filea = open("username.pkl", "r")
    username_check = pickle.load(username_filea)


    if self.currpword.text() == password_check and self.reppword.text() == password_check and self.curruser.text() == username_check and self.repuser.text() == username_check:
        password_filea.close()
        username_filea.close()
        password_file = open("password.pkl", "wb")
        username_file = open("username.pkl", "wb")
        pickle.dump(self.newpword.text(), password_file)
        pickle.dump(self.newuser.text(), password_file)
        password_file.close()
        username_file.close()
        easygui.msgbox("Password Changed")

这是加载用户名和密码以让您登录的部分:

def sign_in_clicked(self):
    password_file = open("password.pkl", "rb")
    password = pickle.load(password_file)
    username_file = open("username.pkl", "rb")
    username = pickle.load(username_file)
    print username
    if self.pword.text() == password and self.username.text() == username:
        MainWindow.show()
        myWindow.hide()
    else:
        easygui.msgbox("Wrong Password!")
    password_file.close()
    username_file.close()

当我输入任何内容时,我会收到此错误:

    line 154, in sign_in_clicked
password = pickle.load(password_file)
ImportError: No module named sip

我如何解决它?请注意,这两个函数都属于不同的类。此外,当我从单独的文件中执行此操作时,它可以完美运行,但是当它从同一个文件中执行时,就像在示例中所做的那样,它给了我错误。我正在导入 Cpickle。提前致谢。

标签: pythonpython-2.7pyqt4pickleimporterror

解决方案


推荐阅读