我正在尝试在远程计算机上使用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
该课程已成功导入。那么,我该如何正确启动模块?
答案 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
这很简单!