Ich versuche die Installation speedtest-cli
mit Pip und erhalte die Fehlermeldung, dass speedtest-cli
die Installation nicht erfolgt.
ubuntu@vostro:~$ pip install --user speedtest-cli
Collecting speedtest-cli
Using cached https://files.pythonhosted.org/packages/61/8b/58d1de9a7fff3e91c5ab956ab4ba72b49f42d9f73d5f3e248c740dfcc816/speedtest_cli-2.1.1-py2.py3-none-any.whl
Installing collected packages: speedtest-cli
Successfully installed speedtest-cli-2.1.1
ubuntu@vostro:~$ speedtest-cli
-bash: /usr/bin/speedtest-cli: No such file or directory
Aber es speedtest-cli
ist korrekt installiert /home/ubuntu/.local/lib/python2.7/site-packages
und ich kann es ausführen, indem ich es python speedtest.py
in diesem Ordner ausführe.
Alle diese Ordner gehören dem Benutzer ubuntu
, aber ich glaube, dass etwas nicht stimmt: die py- und pyc-Dateien sind nicht ausführbar. (Das waren sie standardmäßig nicht, ich habe nichts geändert.)
ubuntu@vostro:~/.local/lib/python2.7/site-packages$ ll
total 132K
drwxrwxr-x 2 ubuntu ubuntu 4,0K jun 02 2019 23:55 speedtest_cli-2.1.1.dist-info
-rw-rw-r-- 1 ubuntu ubuntu 1,2K jun 02 2019 23:55 speedtest_cli.py
-rw-rw-r-- 1 ubuntu ubuntu 62K jun 02 2019 23:55 speedtest.py
-rw-rw-r-- 1 ubuntu ubuntu 590 jun 02 2019 23:55 speedtest_cli.pyc
-rw-rw-r-- 1 ubuntu ubuntu 56K jun 02 2019 23:55 speedtest.pyc
Und das ist die Ausgabe vonpython -m site
ubuntu@vostro:~/.local/lib/python2.7/site-packages$ python -m site
sys.path = [
'/home/ubuntu/.local/lib/python2.7/site-packages',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
]
USER_BASE: '/home/ubuntu/.local' (exists)
USER_SITE: '/home/ubuntu/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: True
Ich denke, das Problem hängt mit den Umgebungseigenschaften zusammen, aber wenn ich mir die Ausgabe ansehe, bin ich mir nicht mehr so sicher.
Antwort1
Sie sind innerhalb derselben Terminalsitzung von einer systemweiten Installation zu einer lokalisierten Benutzerinstallation der Anwendung gewechselt, ohne dass die Umgebung aktualisiert wurde.
Ihr Terminal merkt sich den systemweiten Installationspfad /usr/bin/...
und versucht, diesen auszuführen.
Sie müssen die Terminalsitzung schließen und die Verbindung erneut herstellen, um eine neue Umgebung und neue $PATH
Inhalte zu erhalten.
(Wenn es einebesserer Wegum dies direkt von der Befehlszeile aus zu tun, würde ich es gerne wissen.)