Ich habe das heute gerade gemacht, und es scheint, als ob es für Leute, die etwas Kontrolle darüber haben möchten, was und wo installiert ist, kaum eine klare Dokumentation gibt.
Angenommen, Sie haben pip3 install ausgeführt. Wie Sie wissen, werden die Inhalte standardmäßig unter ~ / .local abgelegt. Es ist in Unix üblich, die Dateitypen zu unterteilen und die "ausführbaren" unter ~ / .local / bin zu platzieren.
Geben Sie in einem Terminal Folgendes ein, um Ihren Pfad jetzt anzuzeigen:
$ echo $PATH
Stellen Sie sicher, dass Sie das installierte Python-Zeug in ~ / .local haben
$ ls -la ~/.local/bin
Das bestätigt, dass die ausführbaren Dateien vorhanden sind oder für mich. Wenn diese Dateiberechtigungen "x" anzeigen, sind sie ausführbar.
Fügen Sie dieses Verzeichnis nun dem Pfad im Terminal hinzu
$ export PATH=~/.local/bin:$PATH
Überprüfen Sie Ihren Pfad erneut, um die Änderung zu sehen. Bitte denken Sie daran, dass dies nur eine temporäre Einstellung für diese Terminalsitzung ist. Es gilt nicht für andere Terminals zur gleichen Zeit oder in der Zukunft. Es ist ein guter Ort, um Dinge zu testen.
Danach sollte jedes in ~ / .local / bin ausführbare Programm ausgeführt werden, wenn Sie seinen Namen in die Befehlszeile eingeben. Beispielsweise muss "~ / .local / bin / jupyter" nicht ausgeführt werden. Geben Sie einfach "jupyter" ein. Das "./", das Sie manchmal sehen, ist nicht erforderlich, wenn Sie ein Programm aus dem Arbeitsverzeichnis starten, das sich nicht im Pfad befindet.
Wenn Sie später entscheiden, dass Sie das permanent machen möchten, sodass ~ / .local / bin immer in Ihrem PATH ist, können Sie dies tun, indem Sie einige Umgebungskonfigurationsdateien bearbeiten. Abhängig von Ihrer Konfiguration lautet die letzte Zeile in meinem Basisordner ".bashrc" "export PATH = $ PATH: $ HOME / bin". Also könnte ich $ HOME / local / bin vorne drauf setzen. Beachten Sie, dass ich $ HOME geschrieben habe, nicht "~". Jedes Mal, wenn ich eine BASH-Shell verwende, wird PATH repariert. Wenn Sie andere Shells verwenden, ist es meines Erachtens richtig, stattdessen das ~ / .profile zu bearbeiten. Ich denke, dass alle Shells in Ubuntu diese Datei als Quelle haben.
In meinem Fall habe ich mehrere Programme mit pip3 installiert, wie zum Beispiel jupyter. Eine Möglichkeit, um sicherzustellen, wo das installiert wurde, ist das Ausführen
$ pip3 list
Zeigt alle verfügbaren Pakete an, nicht nur die von pip3 installierten.
$ pip3 show jupyter
In meinem Fall zum Beispiel:
---
Metadata-Version: 2.0
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
Installer: pip
License: BSD
Location: /home/pauljohn/.local/lib/python3.5/site-packages
Requires: nbconvert, ipykernel, ipywidgets, notebook, jupyter-console, qtconsole
Classifiers:
Intended Audience :: Developers
Intended Audience :: System Administrators
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Ich möchte nicht, dass das wie eine Flamme klingt, aber es scheint wie ein Angriff. Ich warne Sie davor, dem Rat zu folgen, den einige Leute hier anbieten, um "sudo pip3 xxx" auszuführen. Im Allgemeinen würden Sie Root-Installationen lieber nur mit Debian-Paketen ausführen, nicht mit pip3. Wenn Sie ohne das sudo laufen, beschränken Sie die Gefahr auf das Benutzerkonto. Wenn Sie ein Skript als Root ausführen, können Sie Dateien auf Ihrer Festplatte verteilen und es bereuen. Vor allem, wenn sich andere Benutzer anmelden und diesen Computer verwenden, sollten Sie nichts als Root ausführen, es sei denn, Sie sind sicher.
Erwähnenswert ist auch, dass pip3 standardmäßig in ~ / .local installiert wird, dies ist jedoch nicht erforderlich. Lies "man pip3", suche nach "-t" (--target). Sie können das Installationsverzeichnis angeben. Ich finde das schön, denn Sie können jeden Schaden auf ein anderes Verzeichnis beschränken und es löschen, wann immer Sie wollen. ~ / .local enthält möglicherweise andere nützliche Dinge, die von anderen Programmen installiert wurden, und Sie möchten sie lieber nicht auslöschen. Ich betrachte ~ / .local sowieso eher als Ort für Einstellungen als für Programme.