Подтвердить что ты не робот

Установленный нос, но не может использоваться в командной строке

Я установил 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

Так ясно, что он установлен.... где-то. Какие-нибудь предложения о том, что, черт возьми, здесь происходит?

4b9b3361

Ответ 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.