Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Twisted是否已更改其依赖项?_Python_Twisted - Fatal编程技术网

Python Twisted是否已更改其依赖项?

Python Twisted是否已更改其依赖项?,python,twisted,Python,Twisted,我目前正在从事一个Python/Twisted项目,该项目将在Planetlab上进行分发和测试。出于某种原因,我的代码在周五工作,现在我想测试一个小改动,但它根本不起作用: Traceback (most recent call last): File "acn_a4/src/node.py", line 6, in <module> from twisted.internet.protocol import DatagramProtocol File "/usr/

我目前正在从事一个Python/Twisted项目,该项目将在Planetlab上进行分发和测试。出于某种原因,我的代码在周五工作,现在我想测试一个小改动,但它根本不起作用:

Traceback (most recent call last):
  File "acn_a4/src/node.py", line 6, in <module>
    from twisted.internet.protocol import DatagramProtocol
  File "/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/__init__.py", line 18, in <module>
    from twisted.python import compat
  File "/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/python/compat.py", line 146, in <module>
    import operator
  File "/home/cdecker/dev/acn/acn_a4/src/operator.py", line 7, in <module>
  File "/home/cdecker/acn_a4/src/node.py", line 6, in <module>
    from twisted.internet.protocol import DatagramProtocol
  File "/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/internet/protocol.py", line 20, in <module>
    from twisted.python import log, failure, components
  File "/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/python/log.py", line 19, in <module>
    from twisted.python import util, context, reflect
  File "/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/python/util.py", line 5, in <module>
    import os, sys, hmac, errno, new, inspect, warnings
  File "/usr/lib/python2.5/inspect.py", line 32, in <module>
    from operator import attrgetter
ImportError: cannot import name attrgetter
回溯(最近一次呼叫最后一次):
文件“acn_a4/src/node.py”,第6行,在
从twisted.internet.protocol导入数据报协议
文件“/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/Twisted/_-init___;.py”,第18行
从twisted.python导入compat
文件“/usr/lib/python2.5/site packages/Twisted-10.0.0-py2.5-linux-i686.egg/Twisted/python/compat.py”,第146行,in
进口经营者
文件“/home/cdecker/dev/acn/acn_a4/src/operator.py”,第7行,在
文件“/home/cdecker/acn_a4/src/node.py”,第6行,在
从twisted.internet.protocol导入数据报协议
文件“/usr/lib/python2.5/site packages/Twisted-10.0.0-py2.5-linux-i686.egg/Twisted/internet/protocol.py”,第20行,in
从twisted.python导入日志、失败、组件
文件“/usr/lib/python2.5/site packages/Twisted-10.0.0-py2.5-linux-i686.egg/Twisted/python/log.py”,第19行,在
从twisted.python导入util、上下文、反射
文件“/usr/lib/python2.5/site packages/Twisted-10.0.0-py2.5-linux-i686.egg/Twisted/python/util.py”,第5行,在
导入操作系统、系统、hmac、错误号、新建、检查、警告
文件“/usr/lib/python2.5/inspect.py”,第32行,在
从运算符导入吸引器
ImportError:无法导入名称属性
由于我是python新手,我不知道是什么导致了这个问题


欢迎所有建议:-)

您自己的一个文件,
/home/cdecker/dev/acn/acn_a4/src/operator.py
隐藏Python的内置
操作符
模块。您应该将自己的
operator.py
重命名为其他名称

您可以在这里看到问题:

File "/usr/lib/python2.5/site-packages/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/python/compat.py", line 146, in <module>
import operator
File "/home/cdecker/dev/acn/acn_a4/src/operator.py", line 7, in <module>
文件“/usr/lib/python2.5/site packages/Twisted-10.0.0-py2.5-linux-i686.egg/Twisted/python/compat.py”,第146行
进口经营者
文件“/home/cdecker/dev/acn/acn_a4/src/operator.py”,第7行,在
Twisted尝试导入操作符,但Python会加载您自己的一个模块


为了防止将来发生类似的事情,您可能不应该像这样将src文件夹添加到PYTHONPATH中。改为创建一个包,以便您自己的文件显示为
myproject.mymodule
,并且不能对内置文件进行阴影处理。

ImportError在
import
语句中出现,原因是模块、包或名称不存在,无法导入名称。在您的情况下,
attrgetter
不存在于
operator
模块中

第一个想法是在项目的主目录中定义一个名为
operator
的模块。模块或包按照
sys.path
顺序进行搜索,如果在主目录中定义了同名模块,则在搜索路径中隐藏了同名的所有其他模块