Установленный нос, но не может использоваться в командной строке
Я установил Nose на Mac OSX 10.10.5 с Python2.7.9 с помощью easy_install
. Установка оказалась успешной:
Collecting nose
Downloading nose-1.3.7-py2-none-any.whl (154kB)
100% |████████████████████████████████| 155kB 2.3MB/s
Installing collected packages: nose
Successfully installed nose-1.3.7
Но теперь, когда я пробую даже базовые вещи с nosetests в командной строке, например nosetests -h
или which nosetests
, я просто получаю:
bash: nosetests: command not found
Я попытался удалить, переустановить с помощью pip
, попытался установить с помощью sudo
, а затем запустить sudo nostests
в каталогах с тестовыми скриптами, как предполагали другие сообщения, но ничего не работает.
Первоначальной целью установки было использование носа для запуска некоторых базовых тестов с тестовыми сценариями, которые я написал для этих простых приложений web.py. Но ничего не работает, просто продолжайте получать ответ command not found
.
Что странно, когда я открываю интерпретатор Python в терминале и делаю что-то вроде:
import nose
nose.main()
Я получаю ожидаемый результат:
.
----------------------------------------------------------------------
Ran 1 test in 0.135s
OK
Так ясно, что он установлен.... где-то. Какие-нибудь предложения о том, что, черт возьми, здесь происходит?
Ответы
Ответ 1
В UNIX-подобных системах, таких как OS X, script должен находиться в /usr/local/bin
. Убедитесь, что каталог находится в переменной среды PATH
в используемой оболочке.
Если нет, вы также можете найти его с помощью find
, например:
find / -type f -name 'nosetests*' -perm +111 -print -quit
Это означает; найдите файл, имя которого начинается с nosetests
, у которого установлены разрешения на выполнение. Распечатайте имя пути и остановитесь.
Ответ 2
При использовании пакетов pip
для установки в Mac OS существует много ошибок. Поэтому я рекомендую установить nose
с помощью easy_install
.
$ pip uninstall nose
$ sudo easy_install nose
Затем вы можете попробовать nosetests
сейчас:)
Ответ 3
У меня была эта точная проблема с OS X EI Captain с Python 2.7.10.
Сначала я установил нос, используя pip:
$sudo pip install nose
который не был выполнен с первой попытки. Прошел вторую попытку. Но команда nosetests
не работала.
Чтобы исправить это:
Шаг 1: Не удаляйте нос, если он был установлен уже с помощью пипса, как в моем случае.
Шаг 2:
$cd /usr/bin
$sudo easy_install nose
Выше команда находит nosetests script (который ранее был установлен пиком) и устанавливает его под /usr/local/bin
Step 3: Try nosetests
$nosetests
----------------------------------------------------------------------
Ran 0 tests in 0.047s
OK
Ответ 4
Я обнаружил, что переход на
Library/usr/bin
и работает
sudo easy_install nose
кажется, что иногда он автоматически не устанавливает нос (и, следовательно, функциональность носитетов). Сделайте вышеуказанные строки, и вы должны быть в порядке.
Я хочу, чтобы у меня было лучшее объяснение, почему это произошло, но я все еще довольно новичок.
Ответ 5
Во-первых, вы можете запустить "python" из командной строки? nosetests должны находиться в том же каталоге:
rich bin $ which python
/home/rich/anaconda/bin/python
rich bin $ which nosetests
/home/rich/anaconda/bin/nosetests
Он также должен быть в загруженном пакете носа:
rich bin $ find /home/rich/anaconda -name nosetests
/home/rich/anaconda/pkgs/nose-1.3.3-py27_0/bin/nosetests
/home/rich/anaconda/pkgs/nose-1.3.7-py27_0/bin/nosetests
/home/rich/anaconda/bin/nosetests
Ответ 6
Из того, что я понимаю, все переходят на pytest - активно поддерживаемую платформу тестирования.
Это не решение этой проблемы, но это, вероятно, самый подходящий выбор, если вы все еще используете нос.
Ответ 7
Я пытаюсь переустановить пипс, он не работает, но, наконец, когда я использую sudo... он работает
pip3 удалить нос
sudo pip3 установить нос
а также
которые носетисты
/USR/локальные/бен /nosetests
Ответ 8
Это также может произойти, если вы используете нос в виртуальной среде и эта виртуальная среда отключена. Если это так, активируйте его с помощью source bin/activate
.