【问题标题】:Pip list versus conda list show different package versionsPip list 与 conda list 显示不同的包版本
【发布时间】:2020-03-28 15:22:12
【问题描述】:

总结 Conda list 枕头和 pip 列表显示不同版本的枕头。 python 试图导入什么版本?

-Edit-我可以从python导入PIL,conda list和pip list都看不到

执行的代码 当我从 my_envrionment (DL_Menarini) 中的 anaconda 提示符运行它时:

(at prompt (DL_Menarini) C:\Users\ZeuneLL>)
>conda list pillow
# packages in environment at C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini:
#
# Name                    Version                   Build  Channel
pillow                    6.1.0                    pypi_0    pypi

>pip list
Package                       Version
----------------------------- ---------
...
Pillow                        6.2.1
... (other packages not shown in post for brevity)

我不明白他们为什么显示不同的版本。两者都运行

>pip uninstall pillow
>conda remove pillow

移除枕头(pip 列表/conda 列表不显示枕头版本)。之后

>conda install Pillow=6.2.1=py36hdc69c19_0

Conda 列表枕头和 pip 列表枕头都显示版本 6.2.1。有什么不同?

> python
>>> import pil
>>> import Pillow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'Pillow'
>>> import sys
>>> sys.prefix
'C:\\Users\\ZeuneLL\\AppData\\Local\\Continuum\\anaconda3\\envs\\DL_Menarini'
>>> exit()

所以我可以在 python 中导入 pil,但是 conda list 和 pip list 都看不到 pil。所以我猜是路径问题。

系统背景 Windows 10-64 位。 Conda list python 显示版本 3.6.8(但 conda info 中显示 3.6.5)。

> python
>>> for path in sys.path: print(path)
...

C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\python36.zip
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\DLLs
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\lib
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini
C:\Users\ZeuneLL\AppData\Roaming\Python\Python36\site-packages
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\lib\site-packages
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\lib\site-packages\win32
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\lib\site-packages\win32\lib
C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini\lib\site-packages\Pythonwin
>>> exit()


>Conda info

     active environment : DL_Menarini
    active env location : C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs\DL_Menarini
            shell level : 2
       user config file : C:\Users\ZeuneLL\.condarc
 populated config files : C:\Users\ZeuneLL\.condarc
          conda version : 4.6.14
    conda-build version : 3.10.5
         python version : 3.6.5.final.0
       base environment : C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\pkgs
                          C:\Users\ZeuneLL\.conda\pkgs
                          C:\Users\ZeuneLL\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\ZeuneLL\AppData\Local\Continuum\anaconda3\envs
                          C:\Users\ZeuneLL\.conda\envs
                          C:\Users\ZeuneLL\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.6.14 requests/2.22.0 CPython/3.6.5 Windows/10 Windows/10.0.16299
          administrator : False
             netrc file : None
           offline mode : False

【问题讨论】:

    标签: python python-3.x pip anaconda conda


    【解决方案1】:

    您可能很久以前就已经解决了这个问题,但是由于我没有足够的声誉来评论您的问题并要求跟进,所以我必须在这里解决。以防万一您还没有弄清楚,或者您是处于类似情况的其他人,这一切都取决于您当前的设置。通常,如果您使用其中之一安装软件包(即 pip 或 conda),请坚持使用。

    我知道很难记住你使用的是哪一个,但现在我总是在更新之前查看我的 conda 列表以查看包是否在 pypi 下,以确保我使用正确的包管理器。这是一种痛苦,但它可以帮助你在以后避免很多头痛。一般来说,虽然我喜欢 pip 的速度有多快,但它比 conda 更容易破坏你的环境。 Conda-Forge 通常与 PyPi 一样更新,所以如果我是你,我会避免使用 pip 并坚持使用 conda/conda-forge。

    【讨论】:

    • 如果可以的话,我会使用 conda,如果必须的话,我会使用 pip(对于最新的 tensorflow 版本)。即使使用 conda,我也必须为某些包指定版本才能获得工作环境。我的主要问题已经解决,尽管我仍然不明白为什么 pip list 和 conda list 给了我不同的东西。
    • 是的!同样在这里!如果我不得不大胆猜测,它可能与原始安装和 PATH 设置以及所有这些有关。我知道一开始我用 pip 安装时,它甚至不会出现在我的 conda 列表中,所以它肯定是安装在其他地方。我以为我解决了它,但我仍然不时遇到和你一样的问题。哦,还有我最近学到的一个技巧:如果你正在寻找一个特定的包,你不必列出你的整个环境。对于上面的枕头示例:pip list | grep 枕头将返回只是枕头。 conda 列表也一样!
    • 我也从 Anaconda 搬到了 Miniconda。当您有很多环境时,它会占用更多空间,但到目前为止,我不再处于环境功能障碍的地狱中。感谢您的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多