使用pip和conda安装Python包时出现重复安装的情况

8
我正在尝试使用iPython及其相关工具,但在这个过程中,我不小心在pip和conda上都安装了ipython、numpy、scipy和其他软件包(conda自带这些好东西)。
有没有关于如何解决这个问题的想法或建议?目前这个问题还没有给我造成任何麻烦,但我担心在某些时候它会变成一个大头疼。现在我已经不知道Python正在导入什么,当我运行iPython时,似乎也无法控制哪个安装正在运行。
我想我可以卸载pip及其所有软件包...这样做听起来好吗?
谢谢!
2个回答

5

需要澄清的几个点:

  • conda是Anaconda Python发行版中使用的软件包管理工具。因此,当你说“conda自带一堆好东西”时,我认为你指的是Anaconda。
  • 如果你使用pip安装了很多软件包,然后安装了Anaconda,那么你应该没问题:在成功安装Anaconda之后,加载的Python解释器将是Anaconda Python,并且它将看到发行版中包含的所有软件包。
  • 如果已经安装了Anaconda,则不需要使用“pip”安装这些软件包。
  • 如果你运行“which python”,你将看到Python解释器的路径。如果路径中有“anaconda/”,则表示你正在使用Anaconda Python。此外,在交互模式下运行Python时显示的第一行也应该在Python版本后面加上“Anaconda 1.x.x”。
  • 有时候会触发奇怪的问题,其中一个原因是PYTHONPATH环境变量被设置,并且指向包含可能与Anaconda中测试的软件包集不兼容的其他软件包的各个目录。

你不需要卸载pip本身,只需要卸载与Anaconda中重复的软件包即可。但是,如前所述,如果你实际安装了Anaconda,它基本上可以独立运行,与你之前安装的任何软件包无关,除非你设置了PYTHONPATH。


1
如果你已经安装了Anaconda,那么你不需要使用“pip”来安装这些包。但是,当安装不支持conda的包时,可能会出现重复安装的情况。例如,Tensorflow文档目前建议使用pip在conda环境中进行安装。这将导致重复安装之前已经使用conda安装过的包(如numpy、setuptools、wheel、six等)。 - Lorenz Forvang

1
如果您担心这个问题,您可以删除您的Anaconda安装并重新开始。或者您可以创建一个新的conda环境conda create并从那里开始工作。

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