ImportError:尝试运行 Pythontex 时没有名为 pygments.styles 的模块
Posted
技术标签:
【中文标题】ImportError:尝试运行 Pythontex 时没有名为 pygments.styles 的模块【英文标题】:ImportError: No module named pygments.styles when attempting to run Pythontex 【发布时间】:2021-01-03 01:50:58 【问题描述】:当我尝试通过命令行运行 pythontex((base) Zachs-MacBook-Pro:mat_300 zachmaurus$ pythontex pythontex.tex)
时,会发生以下情况:
Traceback (most recent call last):
File "/Library/TeX/texbin/pythontex", line 50, in <module>
import pythontex2 as pythontex
File "/usr/local/texlive/2019/texmf-dist/scripts/pythontex/pythontex2.py", line 61, in <module>
from pygments.styles import get_all_styles
ImportError: No module named pygments.styles
我该如何解决这个问题?我已经使用pip install
下载了 pygments,但是无论出于何种原因,当我尝试运行脚本时,找不到模块 pygments.style。
【问题讨论】:
你能发布你的python版本吗?我认为你的 python 包安装在与你使用的不同的 python 版本上。 你是如何安装 Pygments 的,这是使用 Pip 吗?如果是这样,您能否提供pip list
的结果
【参考方案1】:
通过在 MacOS 终端中使用 export PATH=$PATH:/usr/zachmaurus/Downloads/pythontex/pythontex_install.py
将 pythontex_install.py 添加到我的 PATH 解决了这个问题。为确保已将 pythontex_install.py 添加到 PATH 环境中,请运行 echo $PATH
,它应显示为变量之一。将 pythontex_install.py 添加到 PATH 后,我现在在运行 pythontex pythontex.tex 编译文档时得到以下结果:
This is PythonTeX 0.16
--------------------------------------------------
PythonTeX: pythontex - 0 error(s), 0 warning(s)
【讨论】:
【参考方案2】:我通过显式调用我想要的解释器解决了这个问题,然后我编译了文档。
pdflatex -interaction=nonstopmode document.tex
python3 <path_to_pythontex.py>/pythontex.py document.tex
pdflatex -interaction=nonstopmode document.tex
或者你想要的任何python解释器:
pdflatex -interaction=nonstopmode document.tex
<path_to_python>/python3 <path_to_pythontex.py>/pythontex.py document.tex
pdflatex -interaction=nonstopmode document.tex
当然 Pygments 模块应该由这个解释器安装。这对我在 macOS 上非常有用。
【讨论】:
【参考方案3】:当我尝试在我的 macbook(macOS Catalina 10.15 上)上使用 pythontex 时遇到了同样的问题。
我在下面的建议必须(如果使用)谨慎使用:
我尝试了很多解决方案,而真正对我有用的是:
我确保我的机器上安装了 pygments(我在终端上运行了“pip install pygments”)
然后我更改了文件pythontex、pythontex2(因为问题似乎来自那里)和pythontex3的第一行
这些文件(如果您像我一样使用 macOS Catalina 10.15)应该在 /usr/local/texlive/2021/texmf-dist/scripts/pythontex (如果您安装了 TexLive2021)-> 当您尝试编译您的 tex 文件时,您应该能够检索此路径...
然后在 3 个文件 pythontex、pythontex2 和 pythontex3 中的第一行替换为 #!/usr/bin/python3(以确保使用 python3 而不是 macOS 默认使用的 python 2.7):
我还在 pythontex3 中添加了这一行(见下面的截图):
sys.path.append('/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/') 确保python找到了模块pygments (因为我在我的机器上安装了python3.9,并且文件夹“pygments”及其子文件夹“styles”存在于文件夹“site-packages”中)
pythontex3 file
所以现在一切都正常了,我可以使用 pythontex =)
【讨论】:
以上是关于ImportError:尝试运行 Pythontex 时没有名为 pygments.styles 的模块的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:无法导入名称“PandasError”