6

是我的问题:我正在运行代码例子。我在我的 RaspberryPi 上安装了 Python 2.7 和 3,但我已经检查并仔细检查了,我正在 2.7 中运行代码。我在 2.7 下安装了 Pmw 2.0.0,而不是 3,但是当我尝试运行时,我收到“ImportError: No module named tkinter”错误。我一直在使用 Tkinter,所以它通常可以正常工作,并且我已经进行了搜索以验证我肯定调用的是“Tkinter”,而不是“tkinter”,所以我认为这一定是 Pmw 的问题,哪个回溯似乎也表明了(在我的问题底部完整发布)。我一辈子都找不到 Pmw 正在寻找小写“tkinter”的特定地方,我不知道如何解决这个问题。我不急于切换平台——这是为了工作,所以除非这是无法修复的,我需要坚持使用 Tkinter。哦,我对 Python 还是很陌生,所以我很想知道这是一个简单的问题,这里的人可以很容易地发现。

导入系统;print sys.path 给了我:

['/home/pi/Desktop', '/home/pi', '/usr/bin', '/usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7']

完整的追溯是:

Traceback (most recent call last):
  File "/home/pi/Desktop/LinkedMenusSample.py", line 151, in <module>
    Pmw.initialise(root)
  File "/usr/local/lib/python2.7/dist-packages/Pmw/Pmw_2_0_0/lib/PmwLoader.py", line 131, in __getattr__
    self._initialise()
  File "/usr/local/lib/python2.7/dist-packages/Pmw/Pmw_2_0_0/lib/PmwLoader.py", line 89, in _initialise
    raise ImportError(msg)
ImportError: No module named tkinter
4

5 回答 5

24

也许我可以帮助你如何消除错误。

这里有两个想法:

1)您使用 python 2.xx 并安装了 python 3 pwm 模块(Tkinter 从 Python 2 重命名为 tkinter 到 3)

2)您在导入之前执行以下操作,希望对您有所帮助:

#import tkinter
#Traceback (most recent call last):
#  File "<pyshell#11>", line 1, in <module>
#    import tkinter
#ImportError: No module named tkinter

import sys, Tkinter
sys.modules['tkinter'] = Tkinter # put the module where python looks first for modules
#import tkinter # now works!
于 2013-01-29T17:40:12.027 回答
2

另一种解决方法如下:

try:
    import tkinter
except:
    import Tkinter as tkinter

这样,您将始终拥有可用的模块 tkinter,并且取决于您的程序加载 tkinter 或 Tkinter 的 Python 版本。

于 2015-12-27T14:45:42.920 回答
1

matplotlib.pyplot在我的 CentO 中,我遇到了与 (python 2.7+)相同的问题。我通过安装 tkinter 解决了这个问题。sudo yum install tkinter. 希望这可以帮到你。

于 2016-09-21T10:01:22.617 回答
0

您导入了错误的模块使用:import Tkinter

于 2014-02-22T19:50:23.847 回答
-1

在 python 3.4.0 及更高版本上运行的重写脚本

def add():
        print ("Enter the two numbers to Add")
        A=int(input("Enter A: "))
        B=int(input("Enter B: "))
        return A + B 

def sub():
        print ("Enter the two numbers to Subtract")
        A=int(input("Enter A: "))
        B=int(input("Enter B: "))
        return A - B

def mul():
        print ("Enter the two numbers to Multiply")
        A=int(input("Enter A: "))
        B=int(input("Enter B: "))
        return A * B

def div():
        print ("Enter the two number to Divide")
        A=float(input("Enter A: "))
        B=float(input("Enter B: "))
        return A / B

print ("1: ADDITION")
print ("2: SUBTRACTION")
print ("3: MULTIPLICATION")
print ("4: DIVISION")
print ("0: QUIT")

while True:

    CHOICE = int(input("ENTER THE CORRESPONDING NUMBER FOR CALCULATION ")) 

    if CHOICE == 1: 
        print ('ADDING TWO NUMBERS:')
        print (add())

    elif CHOICE == 2:
        print ('SUBTRACTING TWO NUMBERS')
        print (sub())

    elif CHOICE == 3:
        print ('MULTIPLYING TWO NUMBERS')
        print (mul())

    elif CHOICE == 4:
        print ("DIVIDEING TWO NUMBERS")
        print (div())

    elif CHOICE == 0:
        exit()
    else:
        print ("The value Enter value from 1-4")
于 2016-03-25T15:42:59.773 回答