我在回答我自己的问题,但因为我整夜都在琢磨,我希望能帮别人省去一些痛苦。如果您在正确安装pytidylib或utidylib后收到以下消息之一,此答案可能会有所帮助。
在雪豹上学习Python,我安装了Python 2.7的32位版本,这样我就可以使用空闲的解释器/编辑器。Stackoverflow有一个很棒的explanation为什么我要这么做。
当我安装utidylib时,从“import tidy
”中收到以下错误:
“OSError: Couldn't find libtidy, please make sure it is installed
”
使用pytidylib时,我在尝试“from tidylib import tidy_document
”时出现此错误:
“OSError: Could not load libtidy using any of these names: libtidy,libtidy.so,libtidy-0.99.so.0,cygtidy-0-99-0,tidylib,libtidy.dylib,tidy.
”
如果你有这些错误,请阅读这个答案。希望对你有帮助。
最佳答案
我在Linux上也遇到过类似的问题(见下面的stacktrace)。
在Ubuntu11.10(Python2.7)和Gentoo(Python2.6)上,pytidylib==0.2.1在virtualenv中安装了pip。
在Ubuntu上安装apt-get install libtidy-dev
,在Gentoo上安装emerge app-text/htmltidy
,解决了这个问题。
----------------------------------------------------------------------
文件“/home/andre/Progz/some_site/djcode/apps/default/tests.py”,第行?,默认为.tests.\uu test\uuu.doctest
失败的示例:
从tidylib导入tidy_文档
引发异常:
回溯(最近一次呼叫时间):
文件“/home/andre/Progz/some_site/lib/python2.6/site packages/django/test/_doctest.py”,第1267行,在运行
compileflags,1)在test.globs中
文件“”,第1行,在
从tidylib导入tidy_文档
文件“/home/andre/Progz/some_usite/lib/python2.6/site packages/tidylib/uu init_uuu.py”,第71行,在
引发OSError(“无法使用以下任何名称加载libtidy:%s”%(“,”.join(LIB_names)))
OSError:无法使用以下任何名称加载libtidy:libtidy,libtidy.so,libtidy-0.99.so.0,cygtidy-0-99-0,tidylib,libtidy.dylib,tidy
----------------------------------------------------------------------