我的问题是:只要我不尝试加载 numpy,PythonTex 怎么能工作呢?
例如下面的简单代码
平均能量损失
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{float}
\usepackage{pythontex}
\begin{document}
\begin{pycode}
def fib(n): # nth Fibonacci value
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
\end{pycode}
Did you know that $F_{10} = \py{fib(10)}$?
Did you know that $F_{100} = \py{fib(100)}$?
\end{document}
给出
而我得到了
当我使用
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{float}
\usepackage{pythontex}
\begin{document}
\begin{pycode}
%import numpy as np %<- I get an error each time I try to load `numpy`
def fib(n): # nth Fibonacci value
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
\end{pycode}
Did you know that $F_{10} = \py{fib(10)}$?
Did you know that $F_{100} = \py{fib(100)}$?
\end{document}
我在 Windows 10、TeXmaker、MikteX、Anaconda 上编译并运行
pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex|
python "C:/Program Files/MiKTeX/scripts/pythontex/pythontex.py" %.tex|
pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex
阅读有关 PythonTeX 的多篇文章后,我明白答案可能与我的 MikTeX 和/或 Python 安装有关?但奇怪的是,它对简单的事情有效,并为 numpy 产生错误...
编辑
正如评论中提到的,找到 python.tex 可能会有问题。所以我直接在 cmd 中输入了 python.exe 的完整路径,但我收到了以下错误消息,你可能比我更了解 :/
答案1
经过不同的检查,并感谢这个帖子和你如何修复运行时错误包无法通过 numpy-an 的健全性检查。
使用python3.9和numpy1.19.4时会出现这个错误所以卸载numpy1.19.4,安装1.19.3就可以了。
pip install numpy==1.19.3
我加载 numpy 得到了正确的结果