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.snafu hat geschrieben: Montag 28. April 2025, 17:29 Ich würde Python deinstallieren, dann den Befehl pip freeze erneut aufrufen, um zu sehen, ob in dem Moment noch ein anderer Interpreter aktiv wird
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)