Inkonsistenter Aufruf von Python-Versionen mit Pythontex

Inkonsistenter Aufruf von Python-Versionen mit Pythontex

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 pdflatexund aus, pythontex --interpreter python:python3um eine Ausgabe zu erzeugen, die etwa so aussieht:

Bildbeschreibung hier eingeben

Die über die Berechnung gemeldete Version \pyconsoleist 2.7.5, aber die berechnete Version \pyist 3.4.2 (wie von mir beabsichtigt). Aus irgendeinem Grund \pyconsolefolgt der Aufruf nicht der --interpreterBefehlszeilenspezifikation 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 --interpreterOption 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.pyoder pythontex3.pyanstelle 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.

verwandte Informationen