Das sollte ziemlich einfach sein, wenn Sie noch Python 3.5 haben:
$ pip3.5 list --user --format=freeze | xargs pip3.6 install --user
installiert alle User-Site-Pakete für Python 3.6 neu. Die Dinge werden etwas komplizierter, wenn die alte Python-Installation weg ist ( pip3.5
in Ihrem Fall also nicht ), aber immer noch nichts, was Sie nicht schaffen können. Überprüfen Sie zunächst, ob die Benutzerseite noch vorhanden ist, damit Sie mit etwas arbeiten können:
$ find ~/.local -type d -name "site-packages" | grep python3.5 /Users/hoefling/.local/lib/python3.5/site-packages
Jetzt können Sie pkg_resources
die Distributionen auf dieser Benutzerseite auflisten:
$ find ~/.local -type d -name "site-packages" | grep python3.5 | xargs python3.6 -c "import pkg_resources, sys; print(' '.join((f'==' for pkg in pkg_resources.find_distributions(sys.argv[1]))))" wheel==0.30.0
Das Benutzer-Site-Verzeichnis wird an die Python-Codezeile weitergeleitet, die das Verzeichnis mit der pkg_resources.find_distributions
Funktion scannt (siehe Abschnitt Abrufen oder Erstellen von Distributionen in den Dokumenten) pip
. Dies ist die gleiche, die unter der Haube IIRC verwendet wird. Ich habe nur etwas Formatierung hinzugefügt, so dass Sie die Ausgabe pip3.6
in der letzten Iteration der Erweiterung des Einliners an die neue übergeben können . Der volle Einliner ist:
$ find ~/.local -type d -name "site-packages" | grep python3.5 | xargs python3.6 -c "import pkg_resources, sys; print(' '.join((f'==' for pkg in pkg_resources.find_distributions(sys.argv[1]))))" | xargs pip3.6 install --user
pkg_resources
ist Teil des setuptools
Pakets und sollte bereits vorinstalliert sein (dies ist zumindest der Fall, wenn Sie die Installationsprogramme von https://www.python.org/downloads/ verwenden ). Wenn nicht, setuptools
zuerst installieren :
$ dnf install python3-setuptools