让 PythonTex 与 TexStudio 协同工作

让 PythonTex 与 TexStudio 协同工作

我无法让 PythonTex 与 TexStudio 完全兼容。我对此感到非常困扰,并解决了很多问题,包括激活 conda 库、mkl-service 库冲突和 TexStudio 命令路径。我的环境变量也需要修复,以将 Anaconda 库二进制文件包含在搜索路径中。两天后我仍无法解决的剩余问题是通过 PythonTex 生成图表。错误显示为: “此应用程序无法启动,因为它找不到或加载 Qt 平台插件“windows”。 本机 Windows cmd 有同样的问题,所以我认为 PythonTex 没有问题。我认为问题在于将 Python 核心之外的库导入 TexStudio。

这是 MWE

\documentclass{article}
\usepackage{pythontex}
\begin{document}
\begin{pycode}
import sys
print(sys.version)
\end{pycode}
\end{document}

这将打印:3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]

这是一个不起作用的例子

\documentclass{article}
\usepackage{pythontex}
\begin{document}
\begin{pylabblock}
rc('text', usetex=True)
rc('font', family='serif')
rc('font', size=10.0)
rc('legend', fontsize=10.0)
rc('font', weight='normal')
x = linspace(0, 10)
figure(figsize=(4, 2.5))
plot(x, sin(x), label='$\sin(x)$')
xlabel(r'$x\mathrm{-axis}$')
ylabel(r'$y\mathrm{-axis}$')
legend(loc='lower right')
savefig('myplot.pdf', bbox_inches='tight')
\end{pylabblock}
\end{document}

我已完成以下操作来尝试纠正该问题:

  • 活化的康达碱
  • 做过conda install mkl-service
  • 尝试按照管道 conda 激活这个问题
  • 已验证没有使用where libiomp5md.dll指示的MKL 库冲突这里这里
  • 在 Spyder 和本机 cmd 提示符中验证了 Python 代码
  • 尝试添加 QT_PLUGIN_PATH 环境变量

不幸的是,解决方案这里对我来说也没有用。非常感谢您的帮助。

系统:

  • Windows10
  • TexStudio 2.12.6
  • Conda 4.8.2
  • PythonTex 0.17

答案1

在尝试了很多方法之后,包括这里,我发现解决 Qt 问题只有一个解决方案:从 Anaconda 提示符启动 TexStudio

即使环境变量相同(可以os.environ在 python 中使用检查,并使用环境轻松地将输出打印到 LaTeX 文件pyconsole),这似乎也可以工作。想必环境中的路径具有不同的“优先级”?

编辑

我进一步深入研究了这个问题,试图理解为什么这样做有效。使用!setpython 提示符可以显示当前活动的环境变量。查看变量PATH,可以看出 Anaconda 将其路径添加到路径列表的顶部(即使它们已经作为从系统环境变量继承而位于列表的更下方)。所以环境变量的顺序很重要因为环境会在它寻找的任何命令的第一个实例处停止。因此修复方法是将 Anaconda 路径放在我的环境变量的顶部。这意味着我可以从常用的快捷方式运行 TexStudio,并且使用正确的路径!

相关内容