TensorFlow: 为什么执行 'pip uninstall tensorflow' 命令找不到 TensorFlow?

21

我在Ubuntu14.04上使用Tensorflow-0.8。我首先从源代码安装了Tensorflow,然后根据官方教程设置了Tensorflow的开发环境。当我想要卸载Tensorflow时,我使用以下命令:

sudo pip uninstall tensorflow

我遇到了以下错误:
Can't uninstall 'tensorflow'. No files were found to uninstall

请问哪里出了问题?

供参考,pip show tensorflow 的输出结果为:

Name: tensorflow
Version: 0.8.0
Location: /home/AIJ/tensorflow/_python_build
Requires: numpy, six, protobuf, wheel

但是我实际上在另一个Tensorflow目录中发现了

/usr/local/lib/python2.7/dist-packages/tensorflow

除此之外,我也有一个关于Python通用用法的问题。 我在我的系统中看到了两个非常相似的目录,即:
/usr/lib/python2.7/dist-packages
/usr/local/lib/python2.7/dist-packages

有人能告诉我它们之间的区别吗? 我注意到每次使用sudo pip install <package>时,包将安装到/usr/local/lib/python2.7/dist-packages,我能否使用pip install将软件包安装到/usr/lib/python2.7/dist-packages中?
非常感谢您的帮助!
2个回答

10
可能是因为您使用了python setup.py develop而非使用pip安装Tensorflow,导致您遇到了问题。您提供的链接也显示了这一点。
如果使用python setup.py install安装软件包,则pip uninstall很可能会失败,因为它们没有留下元数据来确定安装了哪些文件。
因此,您应该能够通过使用develop选项中的-u--unistall来卸载Tensorflow。
cd /home/AIJ/tensorflow/_python_build
python setup.py develop --uninstall

针对第二个(有趣的)问题,关于在/usr/lib/python2.7/usr/local/lib/python2.7下创建的两个dist-package,已经有一个很好的Stack Overflow答案

PS:Tensorflow是一个很好的库,您应该考虑不要卸载它 :)


还没有尝试过,但看起来这应该是正确的答案。@OP - 如果这个有效,请确认并评论/点赞。 - Rishi Dua
@Max,问题就出在这里。我按照你的方法成功卸载了Tensorflow(然后在virtualenv中重新安装它:))。非常感谢您提供的解决方案和对我的第二个问题给予的良好参考! - ROBOT AI
@机器人 AI,很高兴为您服务!在撰写答案时,我自己也学到了很多东西。您说您想在virtualenv中安装Tensorflow,这没有问题。个人而言,我更喜欢使用Docker。它可能更适合您。 - Kruupös
1
这些答案都没有帮助到我在Anaconda虚拟环境中的问题。所以我做的是从“site-packages”目录中删除了rm -rf tensor* - Gokul NC
@GokulNC 我认为 rm -rf 不是一个好的策略:因为你可能仍然会在环境中留下元数据,从而在以后创建冲突。我刚刚在 Anaconda 的文档 package remove 中读到,conda uninstall tensorflow 应该可以正常工作。如果你确认了这一点(例如使用另一个包),我将相应地更新我的答案。 - Kruupös
conda uninstall tensorflow 没有起作用,它显示 PackageNotFoundError: Package(s) is missing from the environment: tensorflow 这是因为我使用 pip 从官方轮子安装了 TF,但是当我执行 pip uninstall tensorflow 时,pip 似乎找不到它。 - Gokul NC

7

I believe pip isn't installed for python2.7

try :

pip -V

例如,在我的系统上,它显示为:
pip 8.1.2 from /usr/lib/python3.4/site-packages (python 3.4)

基本上使用pip uninstall只会删除Python3.4的软件包(而不是Python2.7)。

因此,我不直接使用pip二进制文件,而是在python内部调用pip模块。

在你的情况下:

python2.7 -m pip uninstall tensorflow

谢谢您的回复!pip -V 的结果是 pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)。那么我猜测 pip 可能是为 Python 2.7 安装的,对吗?然后我也尝试了 python2.7 -m pip uninstall tensorflow,但仍然出现相同的错误。 - ROBOT AI

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