Ich möchte eine Tastenkombination für GEdit, die die derzeit offene .py-Datei ausführen, wenn ich, sagen wir, F5 drücken. Ich habe ein Skript, das dies über ein externes Terminalfenster tut, aber ich habe mehr Probleme beim Erstellen einer Version, die das interne Ausgabefenster verwendet (Shell-Ausgabe, denke ich), da ich keinen guten Weg finde, den Pyenv zu greifen Details aus der ~./bashrc-Datei. Die Arbeit mit Pyenv ist obligatorisch.Python ausführen Verknüpfung in GEdit
Hier ist, was ich über GEdit der External Tool Plugin:
UNSOLVED: Intern Shell Output-Methode:.
Ich wollte ~ beim Zugang zu den pyenv Einstellungen erhalten/bashrc, so dass ich versucht, dieses Skript Externe tools:
#!/bin/bash
set +m
bash -i python $GEDIT_DOCUMENTS_PATH
Dies funktioniert (dank -i), aber es gibt mir die „bash: keine Jobsteuerung in dieser Schale“ Warnung. Running Set + m sollte diese Nachricht loswerden, aber es tut es nicht.
Also zog ich die relevanten Sachen, die ich über dieses Skript am Ende ~/.bashrc hatte, die überhaupt nicht ideal ist:
#!/bin/bash
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"
fi
export PYENV_VERSION=3.3.4
export LD_LIBRARY_PATH=~/.pyenv/versions/3.3.4/lib/python3.3/site-packages/PySide-1.2.1-py3.3.egg/PySide/
python $GEDIT_CURRENT_DOCUMENT_NAME
Probleme: Der letzte Block ist schrecklich. Es wurde nur von ~/.bashrc kopiert, und es muss sogar PySide-Daten enthalten, auf die ~/.bashrc achten sollte. Aus irgendeinem Grund wird bei der Verwendung dieser Methode immer die erste Zeile der .py-Datei ausgegeben (z. B. import sys). Offensichtlich kann mit dieser Methode keine Eingabe() eingegeben werden, und die Ausgabe an GEdit's Embedded Terminal scheint unmöglich. Außerdem kann ich die "Fertig" -Nachricht nicht loswerden, selbst wenn ich set + m verwende oder den Befehl in einer Untershell ausführe.
GELÖST: Externes Terminal-Fenster-Methode:
#!/bin/sh
gnome-terminal -x $SHELL -ic "python $GEDIT_CURRENT_DOCUMENT_NAME; printf \"\nPress any key to continue.\"; read -n 1 -s"
oder ein Terminalprofil definieren genannt, sagen wir, warten, dass Titel und Befehl-> setzt Wenn Terminal Ausfahrten: das Terminal offen halten, und tun Sie dies:
#!/bin/sh
gnome-terminal --profile=Wait -x $SHELL -ic "python $GEDIT_CURRENT_DOCUMENT_NAME; printf \"\nPress any key to continue.\""
Dies gibt eine "Status 0" Nachricht obwohl, so ist die andere Methode besser. Beide Methoden verwenden eine interaktive Shell, um auf ~/.bashrc zuzugreifen.
Haben Sie überlegt, [Sublime Text] (http://sublimetext.com) zu verwenden? Obwohl es nicht F/OSS ist, gibt es mehrere Möglichkeiten, Python-Dateien auszuführen, einschließlich der Möglichkeit, mehrere "Build-Systeme" für verschiedene Versionen/virtualenvs und das [SublimeREPL] (https://github.com/wuub/SublimeREPL) -Plugin zu generieren können Sie einen oder mehrere Python-Interpreter im Editor selbst ausführen. – MattDMo