安装 jupyterlab/latex 扩展时重建失败
Rebuild failure when installing jupyterlab/latex extension
当我尝试安装 jupyterlab/latex 扩展时,总是失败。更准确地说,扩展首先没有出现,然后,如果我尝试重建,则会发生错误(构建失败,500),无法重建。不过,我不确定我是否满足所有要求:
在文档中,要求是:
- Python >= 3.6 --> 我有 Python 版本 3.7.6
- JupyterLab 1.0 --> 我有 1.2.6 版本
- 可以将 .tex 文件编译为 PDF 的应用程序(例如,pdflatex、xelatex;使用 pdflatex.exe on Windows with MiKTeX)。此应用程序必须在与笔记本服务器相同的环境中作为命令可用。 --> 我已经在 C:\Program 安装了 MiKTeX Files\MiKTeX 2.9
- 可以处理 .bib 文件以生成参考书目的应用程序。对于 LaTeX 命令,这必须在与笔记本服务器相同的环境中可用。 --> 虽然我不完全确定这个要求是什么意思
有没有人遇到过类似的问题可以帮助我?非常感谢!
编辑1: 我检查了日志文件,似乎有以下问题:
找不到模块:错误:无法在 'C:\Users\eliob\anaconda3\share\jupyter\lab\staging\node_modules\pdfjs-dist'
中解析 'worker-loader'
编辑 2:我尝试重新安装一些软件包,我的日志文件没有说存在不同的问题:
ModuleNotFoundError:找不到模块:错误:无法在 'C:\Users\eliob\node_modules\webpack\lib\node'
中解析 'module'
我现在遇到了同样的问题。我通过以下方式解决了它:
- 从 JupyterLab 中完全卸载扩展
- 重建并重新加载 JupyterLab
- 从 pip 安装扩展,如 documentation 所说,使用
pip install jupyterlab_latex
,确保您使用的是来自 conda 的 pip(您可以通过 运行 which pip
检查连接终端)。这可能是我遇到问题的原因。
- 运行
jupyter labextension install @jupyterlab/latex
- 最后,打开 JupyterLab,它应该可以工作了。
即使不起作用,您也可以在 JupyterLab 中打开一个终端并从那里轻松地编译 .tex
执行以下操作:在您的文件夹(或模板中)创建一个 .sh
文件文件夹,以便能够在任何地方加载副本)包含以下内容:
#!/bin/bash
# get the folder's name as a variable.
archivo=${PWD##*/}
# runs pdflatex with minimun output (using texfot)
texfot pdflatex $archivo.tex
# if a Rnw exists, then runs it too
count=`ls -1 *.Rnw 2>/dev/null | wc -l`
if [ $count != 0 ]
then
Rscript -e "library(knitr); knit('$archivo.Rnw')"
texfot pdflatex $archivo.tex
fi
# opens evince to view the pdf.
evince $archivo.pdf
它假定您尝试编译的 .tex
文件与包含文件夹的名称相同。无论如何,这是推荐的。它也适用于使用 knitr 进行编织的 Rnoweb 文件。
有了它,您将能够像使用扩展程序一样轻松地处理来自 JupyterLab 的 .tex
文件(甚至可以处理 .Rnw
文件)。
当我尝试安装 jupyterlab/latex 扩展时,总是失败。更准确地说,扩展首先没有出现,然后,如果我尝试重建,则会发生错误(构建失败,500),无法重建。不过,我不确定我是否满足所有要求:
在文档中,要求是:
- Python >= 3.6 --> 我有 Python 版本 3.7.6
- JupyterLab 1.0 --> 我有 1.2.6 版本
- 可以将 .tex 文件编译为 PDF 的应用程序(例如,pdflatex、xelatex;使用 pdflatex.exe on Windows with MiKTeX)。此应用程序必须在与笔记本服务器相同的环境中作为命令可用。 --> 我已经在 C:\Program 安装了 MiKTeX Files\MiKTeX 2.9
- 可以处理 .bib 文件以生成参考书目的应用程序。对于 LaTeX 命令,这必须在与笔记本服务器相同的环境中可用。 --> 虽然我不完全确定这个要求是什么意思
有没有人遇到过类似的问题可以帮助我?非常感谢!
编辑1: 我检查了日志文件,似乎有以下问题:
找不到模块:错误:无法在 'C:\Users\eliob\anaconda3\share\jupyter\lab\staging\node_modules\pdfjs-dist'
中解析 'worker-loader'编辑 2:我尝试重新安装一些软件包,我的日志文件没有说存在不同的问题: ModuleNotFoundError:找不到模块:错误:无法在 'C:\Users\eliob\node_modules\webpack\lib\node'
中解析 'module'我现在遇到了同样的问题。我通过以下方式解决了它:
- 从 JupyterLab 中完全卸载扩展
- 重建并重新加载 JupyterLab
- 从 pip 安装扩展,如 documentation 所说,使用
pip install jupyterlab_latex
,确保您使用的是来自 conda 的 pip(您可以通过 运行which pip
检查连接终端)。这可能是我遇到问题的原因。 - 运行
jupyter labextension install @jupyterlab/latex
- 最后,打开 JupyterLab,它应该可以工作了。
即使不起作用,您也可以在 JupyterLab 中打开一个终端并从那里轻松地编译 .tex
执行以下操作:在您的文件夹(或模板中)创建一个 .sh
文件文件夹,以便能够在任何地方加载副本)包含以下内容:
#!/bin/bash
# get the folder's name as a variable.
archivo=${PWD##*/}
# runs pdflatex with minimun output (using texfot)
texfot pdflatex $archivo.tex
# if a Rnw exists, then runs it too
count=`ls -1 *.Rnw 2>/dev/null | wc -l`
if [ $count != 0 ]
then
Rscript -e "library(knitr); knit('$archivo.Rnw')"
texfot pdflatex $archivo.tex
fi
# opens evince to view the pdf.
evince $archivo.pdf
它假定您尝试编译的 .tex
文件与包含文件夹的名称相同。无论如何,这是推荐的。它也适用于使用 knitr 进行编织的 Rnoweb 文件。
有了它,您将能够像使用扩展程序一样轻松地处理来自 JupyterLab 的 .tex
文件(甚至可以处理 .Rnw
文件)。