Ist das Verhalten ähnlich bei anderen Python-Programmen:
Code: Alles auswählen
python.exe -m profile --help
Code: Alles auswählen
python.exe -I -m pip freeze
Code: Alles auswählen
python.exe -v -m pip freeze
Code: Alles auswählen
python.exe -m profile --help
Code: Alles auswählen
python.exe -I -m pip freeze
Code: Alles auswählen
python.exe -v -m pip freeze
Bei all deinen Ausgaben erscheint um die eigentliche "raw"-Ausgabe des Aufrufs dieser Textblockpstein hat geschrieben: ↑Montag 28. April 2025, 07:29 Nein, keine weiteren Tools oder IDEs installiert. Just pure Python. Nichts wissentlich modifiziert. Ich verwendet Windows 10 v22H2.
Alle anderen Python Scripte laufen übrigens normal.
Hier die gewünschten Ausgaben:
C:\Program Files\Python\Scripts>python.exe -m pip freeze
Python-Version : 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
Python-Pfad : C:\Program Files\Python
packaging==25.0
pillow==11.2.1
pytesseract==0.3.13
setuptools==65.5.0
Drücke ENTER zum Schließen...
- andere Beispiele -
Code: Alles auswählen
Python-Version : 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
Python-Pfad : C:\Program Files\Python
...
Drücke ENTER zum Schließen...
Code: Alles auswählen
with open("requirements.txt", "w") as stream:
print(*pip_freeze(), sep="\n", file=stream)
Ausgabe:
Python-Version : 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
Python-Pfad : C:\Program Files\Python
Traceback (most recent call last):
File "D:\tmp\pipfreeze.py", line 2, in <module>
print(*pip_freeze(), sep="\n", file=stream)
^^^^^^^^^^
NameError: name 'pip_freeze' is not defined
Drücke ENTER zum Schließen...
Code: Alles auswählen
from pip._internal.commands import freeze as pip_freeze
und vielleicht auch gut, wenn das 'pip freeze' ins Leere läuft, einfach auch mal den Befehl 'python -VV' und/oder den Befehl 'python.exe -VV' ausprobieren. Eigentlich sollte nach der Deinstallation da ja nichts mehr passieren (können), aber wer weiß? Mit dem -VV hat man dann auch gleich mal eine Versionsinfo ... falls da noch was kommt.
Der Befehl "python" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Code: Alles auswählen
import sys
import os
import atexit
print(f"Python-Version : {sys.version}")
print(f"Python-Pfad : {os.path.dirname(sys.executable)}\n")
def pause_on_exit():
if sys.stdin.isatty():
input("Drücke ENTER zum Schließen...")
atexit.register(pause_on_exit)
Code: Alles auswählen
import os
import sys
import subprocess
import time
# Funktion, um die installierten Python-Pakete in eine Datei zu exportieren
def create_backup():
# Zeitstempel für den Dateinamen generieren
timestamp = time.strftime('%Y%m%d-%H%M%S')
backup_filename = f"python_modules_backup_{timestamp}.txt"
# 'pip freeze' ausführen und Ausgabe in die Datei schreiben
with open(backup_filename, 'w') as f:
subprocess.run(['pip', 'freeze'], stdout=f)
print(f"Backup erfolgreich erstellt: {backup_filename}")
return backup_filename
# Funktion, um ein Backup wiederherzustellen
def restore_backup(backup_filename):
if not os.path.exists(backup_filename):
print(f"Fehler: Backup-Datei {backup_filename} existiert nicht.")
return
# Installiere alle Pakete aus der Backup-Datei
with open(backup_filename, 'r') as f:
subprocess.run(['pip', 'install', '-r', backup_filename])
print(f"Restore erfolgreich aus Datei: {backup_filename}")
def main():
# Kommandozeilenparameter überprüfen
if len(sys.argv) > 2:
print("Fehler: Es dürfen maximal zwei Parameter angegeben werden.")
sys.exit(1)
# Prüfen, ob eine Datei übergeben wurde (Drag & Drop oder Kommandozeilenparameter)
if len(sys.argv) == 2:
backup_filename = sys.argv[1]
restore_backup(backup_filename)
else:
# Wenn keine Datei übergeben wurde, nach einer Datei fragen
backup_filename = input("Gib den Pfad zu einer Backup-Datei ein (oder drücke ENTER für ein neues Backup): ")
if backup_filename.strip() == "":
# Backup erstellen, wenn keine Datei angegeben wird
create_backup()
else:
# Restore durchführen
restore_backup(backup_filename)
if __name__ == "__main__":
main()
Code: Alles auswählen
import atexit
from pathlib import Path
import sys
def print_python_info():
print(f"Python-Version : {sys.version}")
print(f"Python-Pfad : {Path(sys.executable).parent}\n")
def maybe_pause():
if sys.stdin.isatty() and sys.stdout.isatty():
input("Drücke ENTER zum Schließen...")
if sys.stdout.isatty():
print_python_info()
atexit.register(maybe_pause)
Code: Alles auswählen
import atexit
import sys
PAUSE_ON_EXIT = sys.platform.lower().startswith("win")
PAUSE_PROMPT = "Drücke ENTER zum Schließen..."
def all_ttys(streams):
try:
return all(
stream.isatty() for stream in streams
)
except ValueError:
# Thrown by isatty() on closed streams
# e.g. when Python REPL exits
return False
def maybe_pause(prompt=PAUSE_PROMPT):
if all_ttys([sys.stdin, sys.stdout]):
input(prompt)
if PAUSE_ON_EXIT:
atexit.register(maybe_pause)