当我在python中导入tidylib并执行程序时,我收到错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\tidylib\__init__.py", line 71, in <module>
raise OSError("Could not load libtidy using any of these names: %s" % (",".join(LIB_NAMES)))
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
答案 0 :(得分:3)
确保libtidy.so位于$ LD_LIBRARY_PATH上。看起来python正在尝试正确导入整洁,但无法找到其中一个整理使用的库。
如果使用的是Windows PyTidy docs:
Windows :(使用PyTidyLib 0.2或更高版本!)预先构建的HTML Tidy DLL至少可以从两个位置获得。 int64.org Tidy Binaries页面提供了针对32位和64位Windows构建的二进制文件,以及源代码的修补版本。 HTML Tidy网站链接到2006年构建的DLL,仅适用于32位Windows,使用vanilla源(在底部附近滚动到“Other Builds” - 使用读取“exe / lib / dll”的那个,而不是“exe” - 只有版本。)
一旦有了DLL(可能名为tidy.dll,libtidy.dll或tidylib.dll),就必须将它放在系统路径上的目录中。如果从命令行运行Python,则将DLL放在当前工作目录中将起作用,但这是不可靠的(例如,对于服务器软件)。
所以一旦你有了这个dll,就可以从mathworks将它的位置(例如C:/myfiles/somethingelse/libtidy.dll)添加到windows的PATH中:
- 右键单击“我的电脑”图标。 (在Windows XP,Vista或Windows 7下,“我的电脑”图标可能位于开始菜单中。)
- 从上下文菜单中选择“属性”。 (或者,您可以双击“控制面板”中的“系统”图标)
- 单击Windows Vista或Windows 7上的“高级”选项卡或“高级系统设置”
- 单击“环境变量”按钮。
- 单击名为“Path”的变量,然后单击“编辑”。现在使用分号作为分隔符将目标目录添加到变量的值。
醇>例如,如果要将MATLAB / bin的路径添加到系统中,如果位于c:\ matlab \ bin,则应在路径末尾输入以下内容:
; C:\ MATLAB \ BIN
不要忘记SEMICOLON
答案 1 :(得分:0)
我在Linux(Alpine 3.8 Docker容器)上遇到了相同的错误。即使我在Alpine中安装了tidyhtml
和tidyhtml-libs
,在Python 3中安装了pytidylib
,也找不到微小的东西。
看到以下内容后:https://bugzilla.redhat.com/show_bug.cgi?id=1369946,我安装了Alpine tidyhtml-dev
软件包(令人惊讶地使它工作了)。
答案 2 :(得分:-1)
尽管已接受的答案对于Windows的此问题有效,但在Linux上解决此问题的最佳方法是使用程序包管理器来安装其中一个缺少的库。
例如,在CentOS7上我必须使用
sudo yum install -y php-tidy
此博客文章中提到了这一点:http://www.linuxspy.info/2262/html-tidy-installation-for-wordpress-w3-total-cache-plugin/