使用 pip 安装鼻子,但 bash 无法识别 mac 上的命令

Posted

技术标签:

【中文标题】使用 pip 安装鼻子,但 bash 无法识别 mac 上的命令【英文标题】:Installing nose using pip, but bash doesn't recognize command on mac 【发布时间】:2013-09-18 18:30:47 【问题描述】:

我正在尝试在我的计算机上安装鼻子以学习 Python the Hard Way 教程,但似乎无法使其正常工作。我正在使用 pip 安装:

$ pip install nose

我回来了:

Requirement already satisfied (use --upgrade to upgrade): nose in /usr/local/lib/python2.7/site-packages
Cleaning up...

但是,当我运行命令 nosetests 时,我得到:

-bash: nosetests: command not found

我认为我的 PATH 有问题,但老实说我不知道​​。任何帮助将不胜感激!

【问题讨论】:

你在 virtualenv 中吗? 我尝试使用 virtualenv ENV 设置虚拟环境,但我的 bash 说也找不到该命令(与我尝试使用 nosetests 时类似的响应) 你试过卸载/重新安装nose吗? 遇到了同样的问题。卸载/重新安装鼻子固定它。我现在可以在终端中输入nosetests,它就会流鼻涕。 【参考方案1】:

很抱歉复活了一个旧线程,但我只想指出,没有人提到激活虚拟环境。人们在问“你在虚拟环境中吗?”但user2778157 似乎对这到底意味着什么感到困惑。我想澄清这一点,并认为这实际上可能是问题的根源。 (对不起,来源的双关语)。

当您使用pip install 时,您不会安装到主机系统,而是安装到虚拟环境中。当你创建一个虚拟环境时,它会有一个文件夹bin,里面有一个文件activate。为了激活虚拟环境,你需要做source PATH/TO/ACTIVATE。当你的虚拟环境被激活时,你的系统会在检查主机之前检查你的程序的虚拟环境,这就是你的 pip 包应该在的地方。

您不使用sudo pip install 的原因是因为这会让超级用户(没有激活环境的人)安装软件包,该软件包将转到您的主机。

【讨论】:

【参考方案2】:

需要为“nosetests”设置 PATH 变量。请在您的终端上使用这个:

alias nosetests='/Library/Frameworks/Python.framework/Versions/2.7/bin/nosetests'

祝你好运!

【讨论】:

【参考方案3】:

我遇到了同样的问题,但这解决了它。

    安装:nose2 然后使用:nose2 代替 nosetests 来测试程序

祝你好运...!

【讨论】:

【参考方案4】:

您可以使用apt-get -y install python-nose 重新安装。

【讨论】:

【参考方案5】:

我使用的是 OS X 10.11.1。

在终端中执行以下操作:

    移动到目录~/Python/2.7/site-packages/

    输入sudo easy_install pip

    输入sudo easy_install virtualenv

    输入sudo easy_install nose

    输入sudo easy_install distribute

    按照Learn Python The Hard Way 书中的说明进行操作。

【讨论】:

【参考方案6】:

我知道这是一个旧线程,但以防其他人需要它:

我使用的是 OS X 10.9.3。按照书中的说明将所有软件包“cd”安装到项目目录后。然后输入

sudo nosetests

然后你会看到'learnpythonthehardway'作者在书中和网上展示了什么。

【讨论】:

sudo = 不好。使用 virtualenv。【参考方案7】:

在 OSX 上,使用 pip 将 nose 1.3 安装到 /usr/local/share/python/nosetests 默认不在 $PATH 中。

【讨论】:

【参考方案8】:

在我用sudo 设置鼻子之前我遇到了这个问题:

sudo pip install nose

【讨论】:

不要使用 sudo,使用 virtualenv。 对于那些使用 pip3 的人:sudo pip3 install nose【参考方案9】:

但是,当我运行命令 nosetests 时,

当然,您如何运行该命令以及从哪个目录运行可能很重要。

我认为我的 PATH 有问题,但老实说我不知道​​。

如果你这样做:

$ echo $PATH

...您将能够看到路径中的所有目录。当然,您可以将所需的任何目录添加到 PATH 中。

不过,我最近在我的mac上安装了nose,我是手动安装的:

.../Downloads$ tar xfvz nose-1.3.0
.../Downlaods$ cd nose-1.3.0
.../nose-1.3.0$ sudo python setup.py install

...这里安装了鼻子测试:

$ which nosetests
/Library/Frameworks/Python.framework/Versions/2.7/bin/nosetests

在我的站点包目录中也有一个鼻子目录,和往常一样。所以在我的 Mac 上,nosetests 安装在 site-packages 目录之外的目录中。可能只有较新版本的 nose 安装了 nosetests 命令。您可能想尝试:

$ pip install --upgrade nose

【讨论】:

我尝试升级鼻子,它说我的鼻子已经是最新的。当我输入 $echo $PATH 我得到: /Users/zubinteherani/.rvm/gems/ruby-1.9.3-p392/bin:/Users/zubinteherani/.rvm/gems/ruby-1.9.3-p392@global/ bin:/Users/zubinteherani/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/zubinteherani/.rvm/bin:/opt/local/bin:/opt/local/sbin:/Applications/Postgres .app/Contents/MacOS/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/lib/python2.7/site-packages:/usr/local/bin:/usr/local /sbin:/usr/bin:/bin:/usr/sbin:/sbin 我会尝试卸载:pip uninstall nose,然后手动重新安装,如上所示。在此处下载nose-1.3.0.tar.gz:pypi.python.org/pypi/nose/1.3.0下载后安装前,请执行以下操作:~/Downloads$ md5 nose-1.3.0.tar.gz然后点击下载页面下方的md5链接,将md5复制并粘贴到终端(在显示的 md5 下方的行)。添加足够的空格使md5的对齐,然后比较。如果它们相同,请安装模块。 一个选项当然是将 /Library... 添加到您的路径中,它的缺点取决于 Python 版本 (...Versions/x.y/bin)【参考方案10】:

退出 7stud,您可以执行 sudo find / -name nosetests,然后将其附加到您的 PATH

(我确信在 / 之外执行 find 有点矫枉过正,但我​​喜欢它遍及整个操作系统)

【讨论】:

以上是关于使用 pip 安装鼻子,但 bash 无法识别 mac 上的命令的主要内容,如果未能解决你的问题,请参考以下文章

模块已安装但 PyCharm 无法识别

Spyder 通过 pip 安装但不可见

pip装的包在windos和linux是一样的吗

Bash脚本到Conda使用PIP后续安装requirements.txt

Pip Requirements.txt --global-option 导致其他软件包安装错误。 “选项无法识别”

OSX - 已安装 Maven:无法识别 mvn 命令