我在哪里可以在我的linux PC上找到io.py(python文件)

时间:2014-05-12 20:56:51

标签: python

我试图在python中使用'RawIOBase'创建一个类,如下所示。

try:
    import io
except ImportError:
    class Serial(PosixSerial, FileLike):
    pass
else:
    class Serial(PosixSerial, io.RawIOBase):
    pass

我试图使用Python 2.6运行它,但它显示错误:

AttributeError: 'module' object has no attribute 'RawIOBase'

我发现这个错误的原因是另一个名称为“io”的目录,并且目录中存在“init.py”文件。因此,当我使用print(io)打印时,它正在显示

<module 'io' from '/projects/phx/tools/io/__init__.pyc'>.

我找到了

<module 'io' from '/usr/lib/python2.6/io.pyc'>

应该是路径。但是/usr/lib/python2.6路径中不存在io.py文件。所以,即使我将PYHTONPATH导出到/usr/lib/python2.6,仍然在导入io时,它指的是本地的而不是标准的io模块。

您能告诉我在哪里可以找到io.py文件,以便该程序正常运行。

1 个答案:

答案 0 :(得分:1)

试试看你现在正在使用的东西:

import io
print io.__file__
# /usr/lib/python2.7/io.pyc

.py文件应位于同一目录

您也可以在shell中使用locate来查找所有io.py版本:

/usr/lib/python2.7/io.py
/usr/lib/python2.7/io.pyc
/usr/lib/python2.7/dist-packages/IPython/utils/io.py
/usr/lib/python2.7/dist-packages/IPython/utils/io.pyc
# etc...

请记住,它可能取决于你如何执行python,使用不同的python版本或 - 例如 - IPython,可以产生不同的结果。