Pytest находится в ПУТИ, но не найден

Я установил pytest для тестирования Python, но я добираюсь No such file or directory ошибка при простой попытке выполнить его от папки проекта.

Именно в месте должно быть доступным через PATH переменная, но (в меру моей способности описать проблему) 'не находится'. По некоторым причинам, когда я ввожу 'pytest', моя оболочка смотрит на неправильное местоположение; если я указываю, что местоположение затем pytest будет хорошо работать.

Заглядывание /usr/bin

kirk@kirk:~/develop/foo$ pytest
bash: /usr/bin/pytest: No such file or directory

Это находится на самом деле в /usr/local/bin, который является частью пути и работает, когда я явно называю то местоположение.

kirk@kirk:~/develop/foo$ whereis pytest
pytest: /usr/local/bin/pytest

kirk@kirk:~/develop/foo$ echo $PATH
/home/kirk/bin:/home/kirk/.local/bin:/usr/local/sbin:/usr/local/bin:
    /usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

kirk@kirk:~/develop/foo$ /usr/local/bin/pytest
============================= test session starts ==============================
platform linux2 -- Python 2.7.12, pytest-3.0.5, py-1.4.32, pluggy-0.4.0
rootdir: /home/kirk/develop/foo, inifile: pytest.ini
collected 0 items 

========================= no tests ran in 0.00 seconds =========================

Что может вызвать это поведение?

6
задан 16 December 2016 в 10:58

1 ответ

Чтобы постараться не искать Ваш PATH каждый раз, исполняемую команду называют, bash сохраняет ранее используемые команды в справочной таблице, или хеш .

, Если Вы впоследствии перемещаете исполняемый файл или устанавливаете другую версию в другом месте на эти PATH, иногда необходимо вынудить оболочку 'забыть' старое местоположение - выполнение help hash в оболочке удара:

     -r                forget all remembered locations

или забыть просто единственную команду

hash -d <command>

В этом случае, у Вас, кажется, была предыдущая версия pytest в /usr/bin/pytest: выполнение hash -r pytest вынудило оболочку вновь исследовать Ваш PATH и найти ее текущее местоположение /usr/local/bin/pytest.

9
ответ дан 23 November 2019 в 07:33

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

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