File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__
self.serv = socket(AF_INET,SOCK_STREAM)
TypeError: 'module' object is not callable
为什么我得到这个错误? 我困惑。
如何解决这个错误?
File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__
self.serv = socket(AF_INET,SOCK_STREAM)
TypeError: 'module' object is not callable
为什么我得到这个错误? 我困惑。
如何解决这个错误?
当前回答
我也面临同样的问题。然后我试着不吸 导入你的类
我只是复制了YourClass.py的整个代码,并在主代码(或当前代码)上运行它。它解决了错误
其他回答
这是另一个陷阱,即使在阅读这些帖子之后,我也花了一段时间才看到。我正在设置一个脚本来调用我的python bin脚本。我也得到了不可调用的模块。
我的zig是我正在做以下事情:
from mypackage.bin import myscript
...
myscript(...)
当我的zag需要做以下事情:
from mypackage.bin.myscript import myscript
...
myscript(...)
总之,仔细检查您的包和模块嵌套。
我想做的是有一个脚本目录,没有*.py扩展名,仍然有'bin'模块在mypackage/bin和这些有我的*.py扩展名。我是包装的新手,并试图遵循标准,因为我解释他们。所以,我在安装根目录下有:
setup.py
scripts/
script1
mypackage/
bin/
script1.py
subpackage1/
subpackage_etc/
如果不符合标准,请让我知道。
我也面临同样的问题。然后我试着不吸 导入你的类
我只是复制了YourClass.py的整个代码,并在主代码(或当前代码)上运行它。它解决了错误
在YourClassParentDir中添加到主__init__.py,例如:
from .YourClass import YourClass
然后,当你将你的类实例导入到另一个脚本时,你将有一个就绪的类实例:
from YourClassParentDir import YourClass
解决这个问题的一个简单方法是导出pythonpath变量环境。例如,对于Debian/GNU Linux中的Python 2.6:
export PYTHONPATH=/usr/lib/python2.6`
在其他操作系统中,您将首先找到该模块或socket.py文件的位置。
我知道这个线程已经有一年了,但真正的问题在您的工作目录中。
我相信工作目录是C:\Users\Administrator\Documents\Mibot\oops\。请在这个目录下检查名为socket.py的文件。一旦你找到它,重命名或移动它。导入socket时,使用当前目录中的socket.py,而不是Python目录中的socket.py。希望这对你有所帮助。:)
注意:永远不要使用Python目录中的文件名来保存程序的文件名;它将与您的程序发生冲突。