导入错误:尝试运行 Pythontex 时没有名为 pygments.styles 的模块

问题描述

当我尝试通过命令行运行 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。

解决方法

通过在 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) 
,

当我尝试在我的 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 =)