Search code examples
pythonmacospython-2.7nose

Installed Nose but cannot use on command line


I installed Nose on a Mac OSX 10.10.5 with Python2.7.9 using easy_install. The installation appeared to be successful:

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

But now, when I try even basic stuff with nosetests on the command line, like nosetests -h or which nosetests I just get:

bash: nosetests: command not found

I have tried uninstalling, reinstalling using pip, tried installing with sudo and then running sudo nostests in the directories with tests scripts as other posts have suggested, but nothing seems to work.

The original purpose for installing was to use nose to run some basic tests with tests scripts I had written for these simple web.py apps. But nothing works, just keep getting the command not found response.

What's strange is that, when I open up the Python interpreter in Terminal, and do something like:

import nose 
nose.main()

I get the expected result of:

.
----------------------------------------------------------------------
Ran 1 test in 0.135s

OK

So clearly it's installed....somewhere. Any suggestions for what the hell is going on here?


Solution

  • On UNIX-like systems like OS X, the script should be in /usr/local/bin. Make sure that directory is in the PATH environment variable in the shell that you use.

    If not, you can also locate it using find, e.g:

    find / -type f -name 'nosetests*' -perm +111 -print -quit
    

    This means; search for a file whose name starts with nosetests, which has execute permissions set. Print the path name and stop.