Ich habe heute eine neue Installation für Python 2.7.9
und 3.4.3
auf Win7 X64
durchgeführt, und ich habe festgestellt, dass es keinen Script
-Ordner in Python27
und Python34
-Ordner als ersten untergeordneten Ordner gibt, aber es gibt einen in Tools
. Ich konnte jedoch pip
nicht in diesem Skriptordner finden, obwohl pip
standardmäßig mit Python
installiert werden sollte. Die andere, bei der ich dieselbe Installation für meinen anderen PC und Laptop durchführte, war Script
(als untergeordneter Ordner der ersten Ebene in Python27
und Python34
), der pip
enthielt. Also, was ist los? Wie installiere ich pip
und vielleicht andere nützliche Skripte auf diese Weise?
[EDIT] Ich habe python -m ensurepip
in Python34
ausprobiert. Ich habe folgende Fehler erhalten:
Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
Exception:
Traceback (most recent call last):
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\basecommand.py", line 232, in main
status = self.run(options, args)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\commands\install.py", line 339, in run
requirement_set.prepare_files(Finder)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\req\req_set.py", line 333, in prepare_files
upgrade=self.upgrade,
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 326, in find_requirement
file_locations, url_locations = self._sort_locations(locations)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 158, in _sort_locations
sort_path(os.path.join(path, item))
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 139, in sort_path
if mimetypes.guess_type(url, strict=False)[0] == 'text/html':
File "C:\Python34\lib\mimetypes.py", line 287, in guess_type
init()
File "C:\Python34\lib\mimetypes.py", line 348, in init
db.read_windows_registry()
File "C:\Python34\lib\mimetypes.py", line 255, in read_windows_registry
with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: OpenKey() argument 2 must be str without null characters or None, not str
[BEARBEITEN] Das Problem ist auf mehrere leere Registrierungsschlüssel in HKEY_LOCAL_MACHINE
zurückzuführen, bei denen read_windows_registry()
in mimetypes.py
-Suchen fehlgeschlagen ist. Hier ist der Beitrag, der zur Lösung führt:
Python 'pip' und Windows Registry-Korruption
vielen Dank
Wenn Sie die PSF (python.org) .msi Windows-Installationsprogramme verwendet haben, sollten pip (und Abhängigkeiten) in pythonxy/Lib/site-Paketen für 3.4.0+ und 2.7.9+ installiert sein. Es sollte auch Pythonxy/Scripts geben, die ungefähr 5 .exes enthalten. Dies ist der letzte Teil des Installationsvorgangs. Ein Eingabeaufforderungsfenster sollte kurz angezeigt werden. Möglicherweise wurde bei der Installation nicht [] install pip überprüft (obwohl dies standardmäßig hätte geprüft werden müssen). Vielleicht ist ein Fehler aufgetreten, den Sie übersehen haben.
In jedem Fall sollten Sie Pythonxy/Lib/surepip/* für 2.7 und 3.4 haben, und Sie sollten dieses Modul jetzt ausführen können. Versuchen Sie in der Eingabeaufforderung python -m ensurepip
in .../python27 und .../python34.
Dieses Problem ist ein offizieller Fehler: Issue23604 .
Ich war auf das gleiche Problem gestoßen und habe es mit der Methode in Swarley's Blog erfolgreich behoben.
Hatte das gleiche Problem, die Neuinstallation half nicht.
Behebung des Problems durch Ausführen von python -m ensurepip
als administrator .
Wird durch die Installation von Python 2.7.13 behoben
Windows 10. Ich hatte dieses Problem bei der Installation von Python 2.7 in C:/Program Files/Python27 .. Ich denke, in diesem Fall war es ein Pfadproblem. Behebung einer Installation in C:/Python27, Kopieren des Scripts-Ordners von dieser Installation in die Installation in C:/Program Files/Python27. Alles andere (einschließlich der Pfade zu Python und Skripten) war in Ordnung.
Erraten Sie, was? Falls Sie NetBeans (oder wahrscheinlich GlassFish) installiert haben, kann die Installation für pip unterbrochen werden!
Details: Es gibt einen Fehler im NetBeans-Installationsprogramm, das manchmal die Windows-Registrierung auf eine Art und Weise beschädigen könnte, die andere Installationsprogramme nicht erwarten.
@ J3soons Antwort war knapp, aber Swarleys Blogpost hat das Problem in meiner Umgebung nicht behoben, weil es kein Nullzeichen war, sondern eine andere Art von Registry-Korruption war.
Und so habe ich das Problem gelöst. Führen Sie das folgende PowerShell-Skript aus:
$local_key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
$machine_key = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
$machine_key6432 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
$items = Get-ChildItem @($local_key, $machine_key, $machine_key6432)
$ErrorActionPreference = 'Stop'
foreach ($item in $items) {
Write-Output $item.PSPath
$null = Get-ItemProperty $item.PSPath
}
Die Namen der Registrierungsschlüssel werden in die Ausgabe geschrieben. Falls es einen Fehler ausgibt, nehmen Sie den zuletzt gedruckten Schlüssel und entfernen ihn aus der Registrierung (mithilfe von PowerShell oder regedit
oder dem von Ihnen bevorzugten Werkzeug).
Installieren Sie anschließend Python erneut und es sollte Pip wie beabsichtigt installieren.
Bei der Installation von Python 2.7.13 auf meinem Computer bin ich heute auf dasselbe Problem gestoßen. Nach einigen Nachforschungen wurde mir klar, dass v.3.60 ("Anaconda") bereits vorhanden war (zusammen mit Microsoft Visual Studio 2017, das ich vor ein paar Wochen installiert habe).
Ich hatte den Verdacht, dass die Pfadangaben nicht übereinstimmen. Daher versuchte ich, sowohl Python v. 3.60 als auch 2.17 zu entfernen und die Registrierung durch Löschen des Schlüssels HKCU\Software\Python zu löschen (was aus irgendeinem Grund immer noch der Fall war) present) . Danach konnte ich Version 2.7.13 korrekt installieren. Diesmal ist der Ordner\scripts mit allen erwarteten Inhalten vorhanden.
Ich weiß nicht, ob die Installation von Version 3.6 erneut ein Problem verursachen würde: Ich werde dies für die Zeit nicht ausprobieren, da ich derzeit für Version 2.7 entwickle.
Hoffe, das kann sowieso helfen.
Max - Italien
EDIT: Ich habe weitere Nachforschungen angestellt und denke, ich habe den Grund gefunden, warum (in meinem Fall) der Ordner\Scripts fehlte: Der Pfad, unter dem ich Python installieren wollte, befindet sich im virtuellen Laufwerk.
In meinem Computer habe ich nur eine Partition (C :), und ich habe einen Ordner (C:\Development) als D: zugeordnet. Dann habe ich versucht, Python auf D:\Python27 zu installieren. anscheinend ist dies nicht "gut" und verursacht einige Probleme im Installationsprogramm.
Nachdem ich das entdeckt hatte, habe ich versucht, den richtigen Pfad zu installieren, und jetzt scheint alles in Ordnung zu sein.
Max.
Ich hatte auch das gleiche Problem, das ich lösen konnte. Das Problem ist, wenn Sie den Python in der Standardkonfiguration installieren, dann wird der Python-Ordner unter "c:\user\Appdata ......" installiert, was langwierig und schwer zu finden ist. Um dies zu vermeiden, deinstallieren Sie zuerst den Python 3.7 vollständig über das System von der Systemsteuerung -> Deinstallationsprogramm. Dann installieren Sie es erneut mit der Option "Installation anpassen". Ändern Sie auf der nächsten Seite den Standardspeicherort in C:/Python/Python37-32 und aktivieren Sie die erforderlichen Kontrollkästchen, und klicken Sie auf Installieren. Dies sollte Ihr Problem lösen.
Ich verwende Python 3.6.2 und hatte ein ähnliches Problem mit fehlenden Scripts-Ordnern (auch Pip-Script) im Python-Ordner. Ich habe folgende Schritte unternommen, um den Skriptordner wieder zu Python hinzuzufügen.
Versuchen Sie, das installierte Programm zu REPARIEREN, das das Problem beheben soll.
Basierend auf einer Kombination aus dem, was ich hier gefunden habe, und was ich anderswo gefunden habe, habe ich es so korrigiert:
Deinstallieren Sie, was bereits installiert ist . Gehen Sie zu regedit und HKLM/SOFTWARE/Python und löschen Sie den gesamten Python-Abschnitt . Installieren Sie Python neu
Diesmal mit dem Scripts-Ordner installiert.
Hoffe das hilft jemandem.
Tatsächlich wird nach der Installation von Python der Ordner "Scripts" nicht erstellt. Sie müssen diesen Ordner manuell erstellen und dann pip installieren. Anschließend finden Sie die erforderlichen Dateien in diesem Verzeichnis.
Sogar ich war mit diesem Problem konfrontiert. Ich habe es mit den folgenden Schritten gelöst:
Deinstallieren Sie Python. (Sie können das Installationsprogramm (python-2.7.xx.msi) verwenden, um die Deinstallation durchzuführen. Wählen Sie die Option "Python entfernen", wenn Sie das Installationsprogramm doppelklicken.)
Bearbeiten Sie die Umgebungsvariable 'Path' und entfernen Sie den Python-Verzeichnispfad. (Um die Umgebungsvariable zu ändern, klicken Sie mit der rechten Maustaste auf "Dieser PC", klicken Sie auf "Eigenschaften" und klicken Sie auf "Erweiterte Systemeigenschaften" -> Umgebungsvariablen.)
Entfernen Sie die Umgebungsvariable 'Python Path', falls vorhanden.
Installieren Sie jetzt Python neu.
Es wird klappen !!!
Dieser Befehl funktioniert gut für mich:
python -m ensurepip
In Links suchen: C:\Users\kjangala\AppData\Local\Temp\tmpvd4_442i
Setuptools sammeln
Pip sammeln
Installiere gesammelte Pakete: setuptools, pip
Pip-19.0.3 setuptools-40.8.0 erfolgreich installiert
Es ist eine Erlaubnisfrage. Ich habe beide python 2 und 3 unter installiert
C:\Program Files\python\2.7.16
C:\Program Files\python\3.7.2
Das Python 2-Installationsprogramm ist msi, daher gibt es bei der Installation keine Option run as admin
Das Python 3-Installationsprogramm ist exe, es gibt die Option run as admin
.
Als Ergebnis wurde python 2 ohne scripts
und pip.exe
Und python 3 erfolgreich installiert.
Um dies zu beheben, geben Sie einfach die Berechtigung full
an everyone
C:\Program Files\python\
Und installiere python 2 erneut. Ändere dann die Berechtigung zurück.
Das ist es.