从JupyterNotebook运行代码失败,但在终端中运行时没有问题

2024-05-19 07:21:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Mac上使用Anaconda中的Jupyter笔记本遇到了一个障碍。我的设置是:

MacOS Catalina 10.15.3 (default shell zsh)
Anaconda-Navigator 1.9.12
Jupyter-client 5.3.4
Jupyter-console 6.1.0
Jupyter-core 4..1

基本上,我有一些Python代码从旧Word文档中提取一些文本。代码使用textract库(https://textract.readthedocs.io/en/latest/index.html)。不幸的是,这个库不包括在Anaconda中,它还有一些其他依赖项,在本例中最明显的是一个名为antiword的库

到目前为止,我已经采取了以下步骤:

  1. 已安装Mac端口,并使用它安装多个软件包(例如poppler、antiword、unrtf、tesseract、swig)。安装似乎是成功的。目录/opt/local和/opt/local/bin(上面的二进制文件所在的位置)被添加到$PATH中,没有任何问题

  2. 使用Python 3.8在Anaconda中创建了一个环境(myenv)。添加了各种库,包括jupyter

  3. 打开了一个激活myenv的终端。已使用以下方式安装textract:

    %pip安装textract

这一切似乎都很好,没有错误消息

现在,如果我从Anaconda Navigator应用程序中使用Python或iPython打开myenv,将打开一个终端窗口,我可以运行以下命令:

>>> import textract
>>> myText = textract.process('path-to-doc-file')
>>> print(myText)

正如预期的那样,最后一个命令的输出是Word文档中包含的所有文本。这支持所有必要的库和依赖项都已正确安装的想法

如果我从Anaconda Navigator应用程序中使用Jupyter笔记本打开myenv环境,将显示一个网页,我可以创建一个新笔记本。但是,如果我尝试在笔记本的一个单元格中运行完全相同的命令,则会出现以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'antiword'

The command `antiword path-to-file.doc` failed because the executable `antiword` is not installed on your system. Please make sure the appropriate dependencies are installed before using textract

我很惊讶,因为我认为终端和Jupyter笔记本中使用的Python基本相同。然而,在这种情况下,情况似乎并非如此

我是否错过了一个关键的设置步骤


Tags: 代码文档文本命令navigator终端mac笔记本

热门问题