已安装的Nose但无法在命令行上使用

Adj*_*con 16 python macos nose python-2.7

我使用Python2.7.9在Mac OSX 10.10.5上安装了Nose 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
Run Code Online (Sandbox Code Playgroud)

但是现在,当我在命令行上尝试使用nosetests的基本内容时,nosetests -h或者which nosetests我只是得到:

bash: nosetests: command not found
Run Code Online (Sandbox Code Playgroud)

我已尝试卸载,重新安装使用pip,尝试安装,sudo然后sudo nostests在其他帖子建议的测试脚本的目录中运行,但似乎没有任何工作.

安装的最初目的是使用nose来运行我为这些简单的web.py应用程序编写的测试脚本运行一些基本测试.但没有任何作用,只是不断获得command not found回应.

奇怪的是,当我在终端中打开Python解释器时,执行以下操作:

import nose 
nose.main()
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果:

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

OK
Run Code Online (Sandbox Code Playgroud)

很明显,它安装在某个地方.关于到底发生了什么的任何建议?

小智 26

pip在Mac OS上使用安装包时发生了很多错误.所以我建议你安装nose使用easy_install.

$ pip uninstall nose

$ sudo easy_install nose

然后你可以试试nosetests:)


Raz*_*ikh 12

我在使用Python 2.7.10的OS X EI Captain上遇到了这个问题.

首先我用pip安装了鼻子:

$sudo pip install nose 
Run Code Online (Sandbox Code Playgroud)

第一次尝试失败了.经历了第二次尝试.但是 nosetests命令没有用.

为了解决这个问题:

第1步:如果已经使用pip安装了鼻子,请不要卸载鼻子.

第2步:

$cd /usr/bin

$sudo easy_install nose 
Run Code Online (Sandbox Code Playgroud)

上面的命令找到nosetests脚本(之前由pip安装)并将其设置为 /usr/local/bin

Step 3: Try nosetests

$nosetests

----------------------------------------------------------------------
Ran 0 tests in 0.047s

OK
Run Code Online (Sandbox Code Playgroud)


Rol*_*ith 11

在像OS X这样的类UNIX系统上,脚本应该/usr/local/bin.确保该目录位于PATH您使用的shell 中的环境变量中.

如果没有,您也可以使用find,例如:

find / -type f -name 'nosetests*' -perm +111 -print -quit
Run Code Online (Sandbox Code Playgroud)

这意味着; 搜索名称以其开头的文件,该文件nosetests具有执行权限集.打印路径名称并停止.

  • 将`/ Library/Frameworks/Python.framework/Versions/2.7/bin /`添加到`PATH`.如何/在何处执行取决于您使用的shell. (3认同)
  • 当你从shell调用`nosetests`时,它与`PYTHONPATH`无关.但是我所知道的所有shell都使用一个名为`PATS的环境变量,它包含一个以冒号分隔的目录列表.shell在这些目录中查找可执行文件.其中一个目录中的任何可执行文件都可以通过名称调用来启动.设置此环境变量的位置因shell而异.查看shell手册页中的FILES部分. (2认同)