首页 文章

Conda显示了两个版本的请求库

提问于
浏览
9

我是康达的新手,看到一些奇怪的东西,但我实际上并不知道这是不是问题 .

我目前处于根环境中 . 在某些时候我试图在另一个环境中安装pip,但不小心只是跑了 pip install requests . 这似乎已经在我的root环境中安装了它:

$ conda list | grep requests
requests                  2.12.4                   py36_0  
requests                  2.13.0                    <pip>

它看起来像pip版本是我运行python时得到的:

$ python
Python 3.6.0 |Continuum Analytics, Inc.| (default, Dec 23 2016, 12:22:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests; requests.__version__
'2.13.0'

我的猜测是,周围有两个版本的同一个包会导致后来的麻烦 . 然后我的假设是我最好保留非点子版本,所以我尝试了这个:

$ pip uninstall requests
[asks for confirmation, say yes]
$ conda list
[traceback, which I can post if helpful. Summary is:]
ModuleNotFoundError: No module named 'requests'

然后 pip install requests 带我回到方阵1(有两个版本的请求) .

最后,我想知道如何防止这种情况再次发生 . 根据docs,如果我想使用pip在conda环境中安装软件包,我应该:

  • 激活要安装程序包的conda环境

  • 运行 pip install whatever

  • 它应该在 conda list 中显示当前环境 .

但是,这对我不起作用 - 已安装的软件包显示在 conda list --name root 下,而不是在当前环境中 .


所以,一些问题:

  • 在我的conda根目录中有两个 requests 副本是一个问题吗?

  • 如果这是一个问题,我该如何解决?

  • 如何在conda环境中使用pip?

1 回答

  • 2

    在我的conda根目录中有两个请求副本是一个问题吗?

    大概 .

    如果这是一个问题,我该如何解决?

    在我的测试中, conda remove 后跟 pip uninstall 就可以了 . (之后你可以只使用conda重新安装请求 . )但如果出现问题,请删除 .../lib/python3.6/site-packages/requests-2.13.0.dist-info . 这似乎对我有用 .

    FWIW,我只能通过首先安装pip再重新进行双重安装,然后再用conda重新安装 .

    如何在conda环境中使用pip?

    OP中的摘要是正确的 . 只需激活conda环境并像往常一样使用pip . 我的经验法则是安装包含 conda 的包(如果可用),否则请使用 pip .

相关问题