没有名为html2text的模块

时间:2015-08-12 11:18:11

标签: python ipython

我已经尝试了各种方法来安装库html2text并且所有这些都结束了ipython无法导入它并显示错误消息

  

“ImportError:没有名为html2text的模块”

The directory '/Users/NDunn/Library/Caches/pip/http' or its parent  directory is not
 owned by the current user and the cache has been disabled.
 Please check the permissions and owner of that directory.
 If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/NDunn/Library/Caches/pip/http' or its parent directory is not owned
by the current user and the cache has been disabled.
Please check the permissions and owner of that directory.
If executing pip with sudo, you may want sudo's -H flag.
Collecting html2text
Installing collected packages: html2text
Successfully installed html2text-2015.6.21

我使用了sudo-H sudo这两个说它已安装但我无法导入。

任何有关正在发生的事情的想法都将不胜感激。

4 个答案:

答案 0 :(得分:5)

在我的情况下(ubuntu14)它只使用以下命令:

sudo python -m pip install html2text 
html2text installed successfully.

答案 1 :(得分:1)

现在很多系统都有多个版本的python,因此也可能有多个版本的IPython

使用pip install <package>时,它不会立即清楚包最终属于哪个解释器。

那我们怎么知道呢?由于基于unix的系统具有非常强大的shell,我们可以使用它来解决问题:

which -a会列出ipython中的所有PATH个可执行文件。当您在shell中键入ipython时,将调用第一个。

对我而言,它只是: which -a ipython - &gt; /Users/ch/miniconda/envs/sb34/bin/ipython

现在我们知道标准ipython属于解释器/Users/ch/miniconda/envs/sb34/bin/python。因此,我们现在可以使用

而不是调用pip install html2text
/Users/ch/miniconda/envs/sb34/bin/python -m pip install html2text

确保html2text已安装到解释器中,该解释器还包含ipython中的默认PATH可执行文件。

根据路径和用户权限,您可能必须使用sudo才能获得足够的写入权限。

答案 2 :(得分:1)

固定。事实证明,IPython没有路径指向pip放置新库的位置。要测试此用法,请使用pip show html2text&#39;(或任何要导入到IPython的库),查看它的位置。应该看起来像这样。

location :/usr/local/lib/python2.7/site-packages

打开IPython并运行&#39; import sys&#39;,然后运行&#39; sys.path&#39;。如果您没有在列表中看到先前的位置,则需要将其附加到列表中。

导航到您安装IPython的位置,然后导航到其配置文件。路径看起来应该是这样的。

~/.ipython/profile_default/startup/

在内部创建文件&#39; 00-startup.py&#39;,完成后编辑文件,以便第一行读取&#39; import sys&#39;然后低于&#39; sys.path.append(&#39; /usr/local/lib/python2.7/site-packages')&#39;。这是我的例子,所以适当地改变路径。

import sys 
sys.path.append('/usr/local/lib/python2.7/site-packages')

保存文件,现在它应该可以正常工作。

答案 3 :(得分:0)

如果您安装的Python版本很少,请使用sudo pip install --target=path/to/your/pythonXX/site-packages html2text,然后将为某些Python解释器提供包。然后在代码编辑器/ Python shell中使用import html2text