Ich habe ein Python-Paket unter Windows mit pip installiert. Warum kann ich es nicht von der Kommandozeile aus aufrufen?


1

In Powershell habe ich boto-rsync mit pip installiert:

PS> pip install boto-rsync

Damit wurde boto-rsync in C: \ python27 \ Scripts wie erwartet als 'boto-rsync' installiert. Ich habe C: \ python27 \ Scripts im Pfad (pip.exe ist dort), kann aber mein neues Paket nicht über die Befehlszeile aufrufen, zB:

PS> boto-rsync *from* *to*

Antworten:


1

Sie können in PowerShell keine Python-Skripts ausführen. (Sie können in Unix-Shells). Du musst das machen:

python.exe path/to/some/script.py

Dies setzt voraus, dass sich python.exe in Ihrem Pfad befindet. Ansonsten muss man so etwas machen:

C:\Python27\python.exe path/to/some/script.py

Nicht ganz richtig. Sie können Python-Skripte direkt in PowerShell ausführen, vorausgesetzt, sie haben die richtige Erweiterung und befinden sich im Suchpfad. Wenn sie die .pyErweiterung haben, können Sie sie entweder mit aufrufen script.pyoder .pyder PATHEXTenvvar hinzufügen und sie ohne die Erweiterung aufrufen script. Jedoch , boto-rsynchaben nicht überhaupt eine Erweiterung - soweit von Windows betrifft, es ist eine Datei beliebige Daten enthalten und nicht direkt ausgeführt werden kann (Windows nicht die shebang verwenden).
Bob

@ Bob, danke, das wusste ich nicht. Ich denke, dass Dizzleys beste Option hier darin besteht, ein kleines PowerShell-Wrapper-Skript zu schreiben, das python.exe mit den entsprechenden Parametern aufruft.
dangph

Ja, das ist wahrscheinlich die beste Idee. Sie sollten dies in Ihre Antwort einfügen. (Tatsächlich würde ein Batch-Skript in diesem Fall genauso gut funktionieren, möglicherweise besser, wenn Sie sich nicht mit PS-Ausführungsrichtlinien befassen möchten ... auch .ps1nicht PATHEXTstandardmäßig.)
Bob
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.