Was ist python3mu?

14

Ich richte PyDev für Eclipse ein und muss eine Version von Python für den Interpreten auswählen. Ich möchte Python3 verwenden und habe es python3als Interpret verwendet, daher dachte ich, es /usr/bin/python3wäre die naheliegende Wahl gewesen. Es gibt jedoch eine andere Option python3mu. Ich habe dies im Terminal ausgeführt und es schien genau so zu funktionieren python3. Meine Fragen sind: Welches ist das richtige, das als Interpret für Eclipse verwendet wird? und was ist der Unterschied zwischen den beiden?

EDIT: Ich wollte euch nur wissen lassen, dass mein google-fu nicht gut genug war, um herauszufinden, was python3mu ist.

Amndeep7
quelle
Check this out link
tomasz74
@ tomasz74 Ahh, das ist also eine Version ohne viele der Module, die standardmäßig hinzugefügt wurden? Und so sollte ich die reguläre verwenden, oder? Setzen Sie einfach diesen Link in eine Antwort und ich gebe Ihnen das grüne Häkchen.
Amndeep7,
Nein, 'mu' hat nichts mit minimal zu tun
Dennis Kaarsemaker

Antworten:

13

In Python 3 spiegeln sich einige Kompilierungsoptionen (die abi-Flags) im Binärnamen und im Namen des zwischengespeicherten Bytecodes in __pycache__Verzeichnissen wider . mu bedeutet --with-pymallocund--with-wide-unicode

Siehe auch http://docs.python.org/dev/library/sys#sys.abiflags und http://www.python.org/dev/peps/pep-3149/

Dennis Kaarsemaker
quelle
Ich habe mir die Links angesehen und es scheint, dass diese nur für Bibliotheken und dergleichen gelten. Vielleicht irre ich mich, aber ich glaube nicht, dass dies für die Version von Python gilt, die Sie ausführen. Könnten Sie bitte etwas mehr erklären?
Amndeep7,
1
ABI bedeutet "Application Binary Interface". Dies schließt Signaturen aller Funktionen und Konstanten ein, die in einem Programm verwendet werden, und ist eine Art Vertrag zwischen Bibliotheken und Anwendungen. zB in --with-pymallocBuilds funktioniert die Speicherzuweisung anders. Wenn Bibliotheken dies nicht über die Binärdatei wissen, werden sie versuchen, Dinge zu tun, die Python zum Absturz bringen :)
Dennis Kaarsemaker