Programm im CMD mit Namen aufrufen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Hallo zusammen,

könnt ihr mir helfen.
Ich möchte mein Programm in Zukunft über den Namen im CMD aufrufen können.
damit ich nicht immer den Vollenpfard angeben muss, sondern nur noch "Sucher.py " + ein paar Parameter.

Sall muss ich dazu verwenden.

Vielen Dank im Voraus und noch schöne Ostern.

Grüße
JohannesGolf
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

JohannesGolf hat geschrieben:Ich möchte mein Programm in Zukunft über den Namen im CMD aufrufen können.
damit ich nicht immer den Vollenpfard angeben muss, sondern nur noch "Sucher.py " + ein paar Parameter.
Entweder fügst du den Pfad des Programmes dem Suchpfad für Programme hinzu oder du legst dein Programm in einen Ordner der sich schon im Suchpfad befindet. Detaillierter geht es nur, wenn du uns dein Betriebssystem nennst.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ich möchte mein Programm in Zukunft über den Namen im CMD aufrufen können.
CMD = Windows-Eingabeaufforderung? Oder das Python-Modul cmd, was standardmäßig bei Python an Bord ist?
Sall muss ich dazu verwenden.
Was ist "Sall"?

Gruß, noisefloor
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@JohannesGolf
Unter welchem Betriebssystem? Wenn Linux, dann hast Du verschiedene Möglichkeiten:
  • Du legst im Programmpfad (meist `/usr/bin/` oder `/usr/local/bin/`) ein Skript an, das letztlich nicht viel mehr macht, als Dein Pythonmodul zu importieren und das Programm zu starten. Dazu sollte sich dann das entsprechende Modul auch im Pfad, das von Python beim Importieren durchsucht wird, befinden (z. B. `/usr/lib/python2.7/dist-packages/` oder `/usr/local/lib/python2.7/dist-packages/`).
  • Du fügst das Verzeichnis, in dem sich Dein Pythonmodul befindet, der Umgebungsvariable `PATH` zu
  • Du legst einen alias an, der den kompletten Verzeichnisverweis zu Deinem Programm enthält
Die erste Variante ist IMHO die Gebräuchlichste.
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Beim ersten Punkt sollte man dann auch dazu sagen, dass man das nicht alles von Hand erledigt, sondern eine entsprechende `setup.py` schreibt, die das dann macht. Dann muss man sich die konkreten Verzeichnisse nicht heraussuchen und das funktioniert auch auf anderen Plattformen.
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Das Programm wird in Apple OS und Windows verwendet.

mit CMD mein ich also im Allgemeinem die "Eingabeaufforderung" bzw. Terminal

das ich also im "Termina" nur noch
sucher.py Parameter1 Parameter2 usw.


eingeben muss damit das Programm läuft
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

JohannesGolf hat geschrieben:Hallo zusammen,

könnt ihr mir helfen.
Ich möchte mein Programm in Zukunft über den Namen im CMD aufrufen können.
damit ich nicht immer den Vollenpfard angeben muss, sondern nur noch "Sucher.py " + ein paar Parameter.

Was muss ich dazu verwenden.

Vielen Dank im Voraus und noch schöne Ostern.

Grüße
JohannesGolf
sorry. Vertippt.
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Das Programm muss im Suchpfad liegen. Unter Windows kann man dieses einstellen.

Für windows7 soll das so aussehen: "Rechtsklick auf Computer, Erweiterte Systemeinstellungen.In diesem Fenster unten auf Umgebungsvariablen klicken. .....". Die zu ändernde Variable heisst PATH. (ungeprüft, habe nur Linux).
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Sorry hab mich wahrscheinlich etwas falsche ausgedrückt.

Hier wie ich bis jetzt das Programm aufrufe:
python <Pfad>sucher.py Parameter1 ....


wie ich es haben will:
sucher Parameter


bestes Beispiel ist: pybot
BlackJack

@JohannesGolf: Ich denke das ist schon verstanden worden. Jetzt musst Du nur noch die Antworten verstehen und umsetzen. Oder beschreiben was Du an den Antworten nicht verstehst, oder wo die konkrete Umsetzung hakt.
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Bin ich hiermit http://stackoverflow.com/questions/4377 ... ell-script
auf dem richtigen Weg?

Code: Alles auswählen


    #!/bin/sh
    python suchen.py

mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@JohannesGolf
Nein, nicht wirklich…
  1. Erstelle eine `setup.py` innerhalb des Verzeichnisses, in dem sich Dein Package befindet. Diese `setup.py` könnte ungeführ so aussehen:

    Code: Alles auswählen

    #!/usr/bin/env python
    
    from distutils.core import setup
    
    import my_package
    
    if __name__ == '__main__':
        setup(name='my_package',
              packages=['my_package'],
              scripts=['scripts/start_app']
             )
  2. Erstelle in einem Unterordner `scripts` ein Startscript `start_app` mit diesem Inhalt:

    Code: Alles auswählen

    #!/usr/bin/env python
    
    import my_package
    
    if __name__ == '__main__':
        my_package.main()
  3. Das Startscript benötigt Ausführungsrechte:

    Code: Alles auswählen

    $ chmod +x start_app
  4. Wenn Du nun ``# python setup.py install`` ausführst, wird `my_package` in den entsprechenden Ordner für Pythonmodule und das Startscript `start_app` in den entsprechenden Programmordner kopiert.
  5. Lies Dir die entsprechende Dokumentation durch, damit Du das Rudimentäre, das ich hier beschrieben habe, auf Dein Programm umsetzen kannst.
  6. Verwende zum Testen und Spielen erstmal eine virtuelle Umgebung, bevor Du das ganze auf Dein System loslässt…
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten