Я пытаюсь установить speedtest-cli
с помощью pip и получаю сообщения об ошибках, которые speedtest-cli
не установлены.
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
Но speedtest-cli
правильно установлен в /home/ubuntu/.local/lib/python2.7/site-packages
, и я могу запустить его, выполнив python speedtest.py
в этой папке.
Все эти папки принадлежат пользователю ubuntu
, но я считаю неправильным то, что файлы py и pyc не являются исполняемыми. (Они не были по умолчанию, я ничего не менял)
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
И это результат python -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
Я думаю, что проблема связана с Свойства env, но, глядя на этот вывод, я больше не уверен.
Вы перешли от общесистемной установки к локальной установке приложения пользователя в том же терминальном сеансе без обновления его среды.
Ваш терминал запоминает системный путь установки в /usr/bin/...
и пытается запустить его.
Вам потребуется закрыть сеанс терминала и повторно подключиться, чтобы получить новую среду и содержимое $PATH
.
(Если есть лучший способ сделать это прямо из командной строки, я хотел бы знать.)