我运行的是python3.7,我试图创建一个文件,作为登录页.py我做了,但当我运行运算符.py文件它给出了很多错误,但没有指定问题指定的一个问题是AttributeError:模块“collections”没有属性“namedtuple”
我试过在pycharm制造的环境中运行它 检查了所有可能的语法一切都很好 我试着在pything 2.2到3.6中运行,但没有运行
from kivy.uix.boxlayout import BoxLayout
class OperatorWindow(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
class OperatorApp(App):
def build(self):
return OperatorWindow()
if __name__ == "__main__":
oa = OperatorApp()
oa.run()
#code ends here
Traceback (most recent call last):
File "D:/OneDrive/Udemy/My own apps/pos/operator/operator.py", line 1, in <module>
from kivy.app import App
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\__init__.py", line 32, in <module>
import shutil
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 10, in <module>
import fnmatch
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\fnmatch.py", line 14, in <module>
import re
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\re.py", line 125, in <module>
import functools
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\functools.py", line 21, in <module>
from collections import namedtuple
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\collections\__init__.py", line 21, in <module>
from operator import itemgetter as _itemgetter, eq as _eq
File "D:\OneDrive\Udemy\My own apps\pos\operator\operator.py", line 1, in <module>
from kivy.app import App
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\app.py", line 316, in <module>
from inspect import getfile
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\inspect.py", line 35, in <module>
import dis
File "C:\Users\T\AppData\Local\Programs\Python\Python37-32\lib\dis.py", line 184, in <module>
_Instruction = collections.namedtuple("_Instruction",
AttributeError: module 'collections' has no attribute 'namedtuple'
预期的结果是打开一个名为operator的窗口它将是空的,但它不会打开它
我把错误信息和上面的代码放在一起
调用模块
operator
不是一个好的选择。 它在标准库中隐藏一个模块。你知道吗关键的困难在于
import operator
现在不需要使用通常的函数。你知道吗考虑一下把所有的东西都往下推一层, 因此您可以作为
myapp.operator
访问您的模块 而不仅仅是operator
。 或者,您可以重命名为operator1.py
, 或者重命名operator
目录。你知道吗相关问题 更多 >
编程相关推荐