pip freeze中的"command-not-found==0.2.44"

4
在我的电脑上,pip freeze 的输出包含了以下奇怪的一行:
command-not-found==0.2.44

当我试图在另一台机器上安装要求时,我遇到了明显的“No distributions at all found for command-not-found==0.2.44”错误。这是pip的一个bug吗?或者真的有一个名为“command-not-found”的Python包,它不存在于pypi中吗?请注意保留HTML标记。

1
实际上,Ubuntu 中有一个名为 command-not-found 的软件包。它是处理程序,当您运行未解决的命令时,建议该命令所包含的软件包。我不确定它是如何出现在您的 pip freeze 中的。 - wim
尝试使用 --no-site-packages 选项创建您的 virtualenv,以确保操作系统中不会有任何不必要的东西进入其中。 - wim
那是因为我的网站被冻结了,而不是虚拟环境。当我的虚拟环境被冻结时,这种情况就不会发生。 - Bach
实际上,在当前的机器上,它显示“Requirement already satisfied (use --upgrade to upgrade): command-not-found==0.2.44 in /usr/lib/python2.7/dist-packages”。 - Bach
我从未见过pip索引apt源... http://pip.readthedocs.org/en/latest/user_guide.html - Zeb
显示剩余2条评论
1个回答

3

正如在后续评论中提到的那样,Ubuntu有一个名为“python-commandnotfound”的Python软件包,可以通过dpkg/apt安装。

 $apt-cache search command-not-found 
 command-not-found - Suggest installation of packages in interactive bash sessions
 command-not-found-data - Set of data files for command-not-found.
 python-commandnotfound - Python 2 bindings for command-not-found.
 python3-commandnotfound - Python 3 bindings for command-not-found.

由于这是通过apt提供的,而不是在pypi存储库中可用,所以您将无法通过pip安装它,但是pip会看到它已安装。为了显示已安装的软件包,pip不关心软件包是通过apt、easy_install、pip、手动等方式安装的。
简而言之,如果您确实需要在另一台主机上使用它(我假设您不需要),则需要运行apt-get install python-commandnotfound

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接