Пакет установлен с pip не найден

Я пытаюсь установить 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, но, глядя на этот вывод, я больше не уверен.

0
задан 3 June 2019 в 01:06

1 ответ

Вы перешли от общесистемной установки к локальной установке приложения пользователя в том же терминальном сеансе без обновления его среды.

Ваш терминал запоминает системный путь установки в /usr/bin/... и пытается запустить его.

Вам потребуется закрыть сеанс терминала и повторно подключиться, чтобы получить новую среду и содержимое $PATH.

(Если есть лучший способ сделать это прямо из командной строки, я хотел бы знать.)

1
ответ дан 3 June 2019 в 01:06

Другие вопросы по тегам:

Похожие вопросы: