Ich habe das Gefühl, dass das Pythontex-System ein anomales Verhalten zeigt. Ein minimales funktionierendes Beispiel ist das Folgende:
\documentclass{article}
\usepackage[gobble=auto]{pythontex}
\begin{document}
\begin{pycode}
import sys
this_python_version = sys.version.split()[0]
\end{pycode}
Python version according to pyconsole:
\begin{pyconsole}
import sys
sys.version.split()[0]
\end{pyconsole}
Python version according to py is \py{this_python_version}.
\end{document}
Ich führe pdflatex
und aus, pythontex --interpreter python:python3
um eine Ausgabe zu erzeugen, die etwa so aussieht:
Die über die Berechnung gemeldete Version \pyconsole
ist 2.7.5, aber die berechnete Version \py
ist 3.4.2 (wie von mir beabsichtigt). Aus irgendeinem Grund \pyconsole
folgt der Aufruf nicht der --interpreter
Befehlszeilenspezifikation und ruft Python statt Python3 auf.
Ich verwende pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2014)
und PythonTeX v0.12
. Die installierten Pythons sind
% python --version
Python 2.7.5
% python3 --version
Python 3.4.2
Jeder Hinweis ist herzlich willkommen.
Antwort1
Die --interpreter
Option funktioniert nicht für Konsoleninhalte. Konsoleninhalte verwenden stattdessen die Standard-Python-Installation. Es gibt bereits ein Problem hierfürHier.
Die aktuelle Problemumgehung besteht darin , pythontex2.py
oder pythontex3.py
anstelle von auszuführen pythontex.py
, wenn Sie eine bestimmte Version für die Konsole auswählen müssen. Ich hoffe, dass ich hierfür relativ bald eine Lösung habe.