Skripte lassen sich nicht von der Kommandozeile aus starten

Probleme bei der Installation?
Antworten
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Hallo Nutzer!
Auf meinem System Windows 7 Home Premium Anaconda Navigator 1.8.7 mit Spyder 3.2.8 (Python 3.6) lassen sich Python-Skripte nicht von der Kommandozeile aus starten.
Der Befehl „python“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Die Systemvariablen und Pythonpfade sind korrekt gesetzt. Siehe dieses Bild: Bild

Was ist wohl schuld?

Grüße Strawk
Ich programmiere erfolglos, also bin ich nicht.
Bolitho
User
Beiträge: 219
Registriert: Donnerstag 21. Juli 2011, 07:01
Wohnort: Stade / Hamburg
Kontaktdaten:

probiere mal

Code: Alles auswählen

activate base
und dann den Aufruf des Programms

damit aktivierst du die Python Umgebung der Anaconda Distribution.

Hilft das?

das Bild kann ich nicht sehen, aber python wird nicht "erreicht".
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

"activate base" wird weder von der Kommandozeile, noch vom IPython-Interpreter erkannt.
Ich programmiere erfolglos, also bin ich nicht.
Bolitho
User
Beiträge: 219
Registriert: Donnerstag 21. Juli 2011, 07:01
Wohnort: Stade / Hamburg
Kontaktdaten:

du kannst auch die Anaconda Prompt nutzen. Einfach windows-Taste und dann anaconda prompt. klappt das?
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Ja, vom Anaconda-Prompt wird "activate base" angenommen. Leider hilft das nicht beim Ursprungsproblem. :(
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Strawk: Bilder von Konsolen sind doof – kopier doch einfach den Text aus der Konsole in den Beitrag. Zudem zeigt das Bild nicht den Wert von %PATH%. Laut Fehlermeldung ist da nicht der Pfad zur entsprechenden Python-EXE enthalten.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Wie kopiert man Konsolentext??
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Also abtippen, okay... : Der Befehl „python“ ist entweder falsch geschrieben oder konnte nicht gefunden werden. echo %PATH% ergibt den Pfad zur Python-exe: C:\Users\Karl Kraft\Anaconda3
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Strawk: Nein, nicht abtippen. In die Zwischenablage kopieren und dann im Browser in das Texteingabefeld wieder einfügen.

Und in dem Verzeichnis liegt eine python.exe oder python3.exe? Klingt zumindest ungewöhnlich. Und wenn dem so wäre, hättest Du die Fehlermeldung ja nicht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

zu 1) Ich weiß nicht, was du meinst. Konsolentext lässt sich nicht markieren und damit auch nicht in die Zwischenablage kopieren.
zu 2) In C:\Users\Karl Kraft\Anaconda3 liegt eine python.exe
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Zum markieren von Text in der Kommandozeile:
Rechtsklick hinein -> "Markieren" im Komtextmenü wählen
Markierung ziehen -> Rechtsklick (Markierung verschwindet)
Markierter Text ist in der Zwischenablage.
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Guten Morgen!

Das klappt mit dem Markieren. Das kannte ich nicht; man lernt doch nie aus. :)

Was das Ursprungsproblem betrifft, bin ich mittlerweile so weit gekommen, dass die Ausführung des Skriptes "activate.bat" im Verzeichnis "Skripte" den gewünschten Erfolg liefert: Skripte lassen sich dann von der Kommandozeile aus starten. Es steht dann auch ein (base) vor dem MS-DOS-Prompt. Kommen wir also zum nächsten Problem: Ich möchte ein Modul, vielmehr ein Package, importieren, der Pfad dorthin ist auch in PYTHONPATH, aber ‚ ModuleNotFoundError: No module named 'geo_mk'.

Hm … ??^^

Grüße
Strawk :D
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Guten Morgen, sparrow!
Dein Post ist etwas knapp. Wohin soll

Code: Alles auswählen

where python.*
? "which" "*nix"??
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Ich hatte mich im Thread vertan.
Sorry
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

So, jetzt aber zu deinem Problem:

In welchem PYTHONPATH ist das Modul denn? Denn wenn du "base" aktivierst, aktivierst du damit auch eine eigene Umgebung. _Dann_ muss es im Pythonpath sein.
Hast du dich schon einmal mit virtualenv beschäftigt? Das ist ein kleines Tool, mit dem man sich virtuelle Umgebungen für Python-Projekte bauen kann. Sehr hilfreich, falls Bibliotheken in verschiedenen Versionen für verschiedene Programme benötigt werden und man hat so ein gekapseltes Ökosystem.

Wenn du also so eine virtuelle Umgebung aktivierst und dann etwas mit pip installierst, dann ist es in diese Umgebung verfügbar - aber nicht systemweit.
Umgekehrt: Wenn du etwas systemweit aktivierst, dann ist es nicht in der virtuellen Umgebung verfügbar.

Versuch das Modul zu installieren, sobald die Umgebung aktiv ist.

Code: Alles auswählen

(base) \> pip install geo_mk
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Guten Morgen, sparrow!

Wahrscheinlich nimmst du fälschlich an, "geo_mk" sei ein öffentliches Modul. Es ist aber nur ein selbstgebautes Package. Deine vorgeschlagenen Methoden sind sicher gut. Da ich aber nicht mit verschiedenen Python-Umgebungen arbeite, wären sie ein ziemlicher Overkill. Gerne möchte ich einfach den Fehler finden, warum der Python-Interpreter nicht aus beliebigen Verzeichnissen gestartet werden kann. Übrigens: Was sind eigentlich, neben den Systemvariablen, die „Benutzervariablen für User“? Oberes Feld im Fenster mit den Pfaden.

Grüße
Strawk
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Du missverstehst mich. Ich wollte dir damit nicht sagen, dass du virtualenv benutzen sollst, sondern dass du es bereits benutzt. Das scheint deine Enwicklungsumgebung einzusetzen, sonst bräuchtest du nicht irgendwas mit "activate" aufrufen, damit etwas funktioniert.
Deshalb schreibe ich meine Scripte mit einem stinknormalen Editor und starte über die Kommandozeile. Da habe ich wenigstens die Umgebung unter Kontrolle.

Wo der Interpreter nach Modulen sucht, kannst du dir übrigens wie folgt anzeigen lassen:

Code: Alles auswählen

import sys
sys.path
Benutzeravatar
Strawk
User
Beiträge: 229
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

Hallo! Das Problem ist insoweit gelöst, als Anaconda 'selber' folgendes empfiehlt:
Should I add Anaconda to the Windows PATH?

When installing Anaconda, we recommend that you do not add Anaconda to the Windows PATH because this can interfere with other software. Instead, open Anaconda with the Start Menu and select Anaconda Prompt, or use Anaconda Navigator (Start Menu - Anaconda Navigator).
Grüße
Strawk
Ich programmiere erfolglos, also bin ich nicht.
Antworten