2
我有我的包类似这样的结构内的碰撞命名空间:如何使用图书馆
top/
├── __init__.py
└── io
└── __init__.py
现在我有这个问题导入标准库urllib3.filepost
:
[email protected] ~/top » python
Python 2.7.2 (default, Jan 11 2013, 17:58:01)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3.filepost
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/gonvaled/.virtualenvs/python2.7.2-wavilon1/lib/python2.7/site-packages/urllib3/__init__.py", line 16, in <module>
from .connectionpool import (
File "/home/gonvaled/.virtualenvs/python2.7.2-wavilon1/lib/python2.7/site-packages/urllib3/connectionpool.py", line 42, in <module>
from .request import RequestMethods
File "/home/gonvaled/.virtualenvs/python2.7.2-wavilon1/lib/python2.7/site-packages/urllib3/request.py", line 12, in <module>
from .filepost import encode_multipart_formdata
File "/home/gonvaled/.virtualenvs/python2.7.2-wavilon1/lib/python2.7/site-packages/urllib3/filepost.py", line 11, in <module>
from io import BytesIO
ImportError: cannot import name BytesIO
为什么标准库在top.io
?我怎样才能避免这种情况?我真的想用我的包名称使用top.io
。
但是,当他的图书馆被用作这样的,他并没有在他的'top'目录中运行解释器将@gonvaled行吗? – 2013-03-13 19:06:44
@MartinStone:是啊,没有内部运行'top'意味着他会好起来的。扩大。 – 2013-03-13 19:10:25