Forum: PC-Programmierung python-argcomplete für den Aufruf der Skripte


von blubblub (Gast)


Lesenswert?

Ich verwende Ubuntu 18.04 und Python 2.7 Skripte.

Nun würde ich gerne python-argcomplete verwenden, um die Argumente beim 
Aufrufen der Skripte mit < tab > vervollständigen zu können. Für alle 
die argcomplete bisher nicht kannten, darum geht es mir gerade:
https://pypi.org/project/argcomplete/

Zum Testen habe ich ein kleines Skript:
1
 $ cat xxx.py
2
3
#!/usr/bin/python
4
# PYTHON_ARGCOMPLETE_OK
5
6
import argparse, argcomplete
7
8
parser = argparse.ArgumentParser()
9
parser.add_argument('--test', type=str)
10
argcomplete.autocomplete(parser)
11
args = parser.parse_args()

Nun ist es allerdings völlig egal, ob ich argcomplete mit pip 
installier, oder mit apt. Beim tippen auf < tab > bekomme ich mein 
Argument "--test" nicht angezeigt.
Hat jemand eine Idee, was ich noch probieren könnte?

Installation mit pip:
1
pip install argcomplete
2
activate-global-python-argcomplete --user

Installation mit apt:
1
sudo apt install python-argcomplete

von blubblub (Gast)


Lesenswert?

Ach so, vergessen:

die Konsole neu öffnen, oder PC neu starten ändert leider nichts.

von nicht"Gast" (Gast)


Lesenswert?

Das funktioniert ja nicht ohne irgend was.

hast du das denn auch aktiviert? Siehe 
https://pypi.org/project/argcomplete/

von blubblub (Gast)


Lesenswert?

wenn ich mein .bashrc hiermit erweitere, dann geht es. Das ist schon mal 
super.
1
eval "$(register-python-argcomplete xxx.py)"

Ich bräuchte es allerdings für mehre Skripte, die ich ja nicht alle 
einzeln im .bashrc auflisten möchte.

Laut Doku sollte es reichen, wenn ich dafür mit 
"activate-global-python-argcomplete --user" alles aktiviere. Also 
global. Dass es so (oder ähnlich) zu aktivieren geht, habe ich es auch 
noch von meinem alten PC in Erinnerung. Dort hatte ich es bereits unter 
Ubuntu 14.04 am laufen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.