我在一个名为msgpack.zip
的zip文件中有msgpack
模块。在
当我将zip文件添加到python路径时,我能够导入模块,但不能导入它的编译部分:
>>> import sys
>>> sys.path.insert(0, 'msgpack.egg')
>>> import msgpack
>>> from msgpack._packer import Packer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'msgpack._packer'
>>>
但是,如果我将zip文件解压缩到我所在的同一个目录,那么它就可以工作了:
验证我没有通过其他方式安装msgpack
。。。在
请注意,我没有msgpack
到我的计算机上的任何其他路径。如果我从我正在工作的目录中删除msgpack
文件夹,我会在import msgpack
上得到一个导入错误。在
所以问题是,为什么导入zip中包含的模块不会导入库的编译部分,但是如果我将zip解压到一个目录中,然后尝试导入它,它们就会被导入?
根据documentation
默认缓存目录由函数
get_default_cache()
决定。doc上写着所以,我猜您的
eggs
缓存文件夹有问题。在相关问题 更多 >
编程相关推荐