我可以在我的Linux电脑上哪里找到io.py文件?
我在尝试用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文件。因此,尽管我把PYTHONPATH设置为/usr/lib/python2.6,但当我导入io时,它还是引用了本地的那个,而不是标准的io模块。
你能告诉我在哪里可以找到io.py文件,这样我的程序就能正常工作了吗?
1 个回答
1
试试这个,看看你现在在用什么:
import io
print io.__file__
# /usr/lib/python2.7/io.pyc
.py
文件应该和你当前的工作目录在同一个地方
你也可以在命令行中使用 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,可能会得到不同的结果。