Python无法导入blist类

时间:2014-02-03 19:45:20

标签: python

我正在尝试在远程计算机上使用blist模块,该计算机太过锁定而无法安装aditional python模块。所以,我正在编译模块并扩展sys.path以包含“手动编译的模块”。但是,我面临一些blist包的问题。

我可以导入它,但是有些类不起作用。例如:

排序列表 SortedSet的 weaksortedlist weaksorteset sorteddict btuple

他们回来了:

  from blist import sortedlist
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  ImportError: cannot import name sortedlist

此功能仅适用于python&gt; 2.6因为它们包括抽象基类。

有没有检查不满意的依赖关系或任何关于如何使它们工作的提示?我不知道这个模块是否是其他软件的包装器(在setup.py中找不到任何信息)。

提前致谢

编辑:

显然问题出在 init .py(我将其设为空以初始化模块)。如果我进入blist文件夹(那里有一个文件_sortedlist.py)并执行:

 from _sortedlist import sortedlist

该课程已成功导入。那么,我该如何正确启动模块?

2 个答案:

答案 0 :(得分:0)

好的,设法解决了。

init .py文件中,我添加了以下行:

from _sorteddict import sortedset as sortedset
from _sortedlist import sortedlist as sortedlist

现在我可以使用(从blist模块文件夹的外部):

from blist import sortedsed,sortedlist

谢谢大家!

答案 1 :(得分:0)

还要考虑使用SortedContainers模块中的SortedList类型。一些好处:纯Python,快速实施,100%单元测试覆盖,数小时的压力测试。因为它是纯Python,所以您只需从存储库中提取sortedlist.py文件即可。复制此文件:

https://github.com/grantjenks/sorted_containers/blob/master/sortedcontainers/sortedlist.py

你要参加比赛了:

from sortedlist import SortedList

这很简单!