Я пытаюсь установить 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, но, глядя на этот вывод, я уже не так в этом уверен.
решение1
Вы перешли от общесистемной установки к локальной пользовательской установке приложения в рамках того же сеанса терминала без обновления его среды.
Ваш терминал запоминает общесистемный путь установки /usr/bin/...
и пытается запустить его.
Вам потребуется закрыть сеанс терминала и подключиться заново, чтобы получить новую среду и $PATH
содержимое.
(Если естьлучший путь(Чтобы сделать это непосредственно из командной строки, я бы с удовольствием узнал.)