管理包:PyCharm vs conda vs pip

2024-03-04

我是 Python 新手,最近在 Windows 10 上安装了 PyCharm 2016.3。我还使用 Anaconda 3。

我对包管理不太了解,想更好地了解它。通常我只是使用conda update --all但我注意到(通过检查本地 PyCharm 解释器的软件包列表)这不会将所有软件包升级到最新版本。

其中一个软件包是 Pillow,其版本为 4.0.0,但 conda (4.3.11) 不会将其更新到 3.4.2 以上。我试过conda install pillow: 4.0.0并得到:

UnsatisfiableError: The following specifications were found to be in conflict:
  - pillow 4.0.0*
  - python 3.5*
  - spyder-app
Use "conda info <package>" to see the dependencies for each package.

后来我发现 conda-forge 上也有 Pillow,所以我尝试了conda install -c conda-forge pillow=4.0.0并得到:

The following NEW packages will be INSTALLED:

    libiconv:  1.14-vc14_4   conda-forge [vc14]
    libxml2:   2.9.3-vc14_9  conda-forge [vc14]
    olefile:   0.44-py35_0   conda-forge
    vc:        14-0          conda-forge

The following packages will be UPDATED:

    freetype:  2.5.5-vc14_2              [vc14] --> 2.7-vc14_0    conda-forge [vc14]
    jpeg:      8d-vc14_2                 [vc14] --> 9b-vc14_0     conda-forge [vc14]
    libtiff:   4.0.6-vc14_2              [vc14] --> 4.0.6-vc14_7  conda-forge [vc14]
    pillow:    3.4.2-py35_0              --> 4.0.0-py35_2  conda-forge

The following packages will be SUPERCEDED by a higher-priority channel:

    conda:     4.3.11-py35_0             --> 4.2.13-py35_0 conda-forge
    conda-env: 2.6.0-0                   --> 2.6.0-0       conda-forge
    qt:        4.8.7-vc14_9              [vc14] --> 4.8.7-vc14_6  conda-forge [vc14]

我决定不继续,而是尝试pip install pillow。由于此命令不要求确认,因此软件包已简单安装。现在当我打字时conda list I get:

Pillow                    4.0.0                     <pip>
pillow                    3.4.2                    py35_0

PyCharm 解释器的软件包列表现在显示 Pillow 版本为 4.0.0,但conda update pillow仍然返回:

# All requested packages already installed.
pillow                    3.4.2                    py35_0

我的问题是:

1) 我应该依靠什么来使我的所有软件包保持最新,而不出现兼容性问题?

2)为什么conda install pillow: 4.0.0返回错误但是conda install -c conda-forge pillow=4.0.0 didn't?

3)依赖项列表中pillow 4.0.0和python 3.5旁边的*是什么意思?

4)从现在起我有两个枕头3.4.2(在/anaconda3/pkgs)和 Pillow 4.0.0(在/anaconda3/lib/site-packages)如果我进口 Pillow 会使用哪一个?

5) 是否取代conda: 4.3.11-py35_0 --> 4.2.13-py35_0 conda-forge意味着 conda 正在降级吗?

6) 标签 pip、py35_0、py35_4、np111py35_2 等之间有什么区别?

7) PyCharm 告诉我 Jinja2 包有一个版本 2.9.5,但普通 conda 和 conda-forge 都只能找到 2.9.4。 PyCharm 从哪个渠道获取此信息?


好吧,我无法回答你所有的问题,但这里是:

1) Conda 遵循“前面的痛苦”方法来处理依赖/冲突解决。您必须让所有包在您可以用来制作包或将它们保存在一个环境中的存储库/通道中很好地协同工作。您可以尝试使用 --force 或 --no-deps 运行它尝试将其放入但是...这可能会在将来给您带来问题(我不知道这是否适用于 conda 的更高版本,它改变了很多)。只要保持软件包最新,并且最新,我就使用 pip。在过去的几年里它取得了长足的进步(https://glyph.twistedmatrix.com/2016/08/python-packaging.html https://glyph.twistedmatrix.com/2016/08/python-packaging.html)

2)我不完全确定,我相信这与提供一个明确的非url通道供conda查看有关。通常,您将其传递给 conda-forge 存储库的 URL(我认为,我们在内部不使用 conda-forge)。

3) * 表示您忽略补丁/构建 4.0.0 == Major.Minor.Build。同样,3.5* ==3.5任意版本

4)我会在终端中导入pillow,然后打印出模块以查看它是从哪里提取的,为什么猜测?

5)通过(虽然我这么认为)

6)

  • pip :表示您通过 pip 安装了该软件包。如果您这样做,它将不会被拾取conda 列表--显式
  • py35_0 :有要求/仅适用于使用 python 3.5 的环境/包
  • py35_4:不确定(总是忘记那个)
  • np111py35_2 :需要 python3.5 和 numpy 1.11 (我认为 *)

7)我倾向于避开pycharm,我相信你可以检查pycharm指向的python解释器,看看它所处的环境。基于根环境,你可以做康达信息并获取您指向的所有频道的列表。

注意:如果您打算使用 conda,您可能只想将 conda-forge 添加到您的频道列表中,而不是传递 -c (但是查看其他频道的组织方式应该可以帮助您了解应该如何传递 -c 标志)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

管理包:PyCharm vs conda vs pip 的相关文章

  • Python BS4 Scraper 仅返回每个页面的前 9 个结果

    我让这段代码按预期工作 只是它并没有完全按预期工作 一切似乎都很顺利 直到我检查了我的 csv 输出文件并注意到我每页只得到前 9 个结果 每页应该有 40 个结果 因此我得到的结果少于预期的 25 有什么想法吗 import reques
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 防止脚本目录被添加到Python 3中的sys.path

    有没有办法阻止脚本的目录被添加到python3中的sys path 由于导入在 python 中是相对的 因此我遇到了导入冲突 我正在处理的一个遗留项目有一个名为logger py在与内置冲突的脚本的根目录中logger 我使用的自定义构建
  • “初始化 MCI 时出现问题”播放声音问题

    我正在尝试使用 Playsound 播放代码文件夹中的文件 但是每次运行代码时 它似乎都能够调用该文件 但我总是收到以下输出 playsound PlaysoundException Error 277 for command open p
  • 动态添加jinja模板

    我有一个 jinja 模板 它是一组 div 标签内的唯一内容 div include temppage html div 当我按下按钮时 我想用其他内容替换标签之间的所有内容 我希望用另一个 jinja 模板 include realpa
  • Twython - 如何使用媒体 url 更新状态

    在我的应用程序中 我允许用户在 Twitter 上发帖 现在我想让他们通过媒体更新他们的状态 In twython py我看到一个方法update status with media从文件系统读取图像并上传到 Twitter 我的图像不在文
  • 根据两个预先计算的直方图报告两个样本的 K-S 统计量

    Problem 在这里 我绘制了存储在文本文件中的 2 个数据集 在列表中 dataset 每个包含 218 亿个数据点 这使得数据太大而无法作为数组保存在内存中 我仍然能够将它们绘制为直方图 但我不确定如何通过2 样本KS测试 http
  • SQLAlchemy+pymysql 错误:sqlalchemy.util.queue.Empty

    尝试使用 Eclispse 在 Ubuntu 上运行 Python 2 SQLAlchemy 0 8 和 MySQL5 2 但我不断收到以下错误 我使用 pymysql 实际上是 pymysql3 引擎 模块监视器 from sqlalch
  • 使用 PRAW 帮助获取 Reddit 帖子链接到的 URL

    我正在尝试使用 Praw 获取 Reddit 提交标题中链接的帖子 例如提交 http www reddit com r AdviceAnimals comments 1adu71 apparently people still need
  • 使用 Python 读取 App Engine 上的文件?

    是否可以在 GAE 上打开文件来读取其内容并获取最后修改的标签 我收到 IOError Errno 13 文件无法访问 我知道我无法删除或更新 但我相信阅读应该是可能的 有人遇到过类似的问题吗 os stat f r st mtim 您可能
  • Python Raspberry pi - 如果路径不存在,则跳过循环

    我有一个收集温度 文本文件中的值 的功能 它使用部分预定义的路径 但是 有时如果温度传感器未加载 断开连接 则路径不存在 如果路径不可用 如何设置条件或例外来跳过循环 我想使用 continue 但我不知道要设置什么条件 def read
  • 带有 UnboundLocalError 的本地和全局引用

    我不太明白为什么代码 def f print s s foo f 运行得很好但是 def f print s s bar s foo f 给我 UnboundLocalError 我知道我可以通过声明来解决这个问题s作为函数内的全局变量或简
  • 如何从分组数据创建直方图

    我正在尝试根据 pandas 中的分组数据创建直方图 到目前为止 我已经能够创建标准线图 但我不知道如何做同样的事情来获取直方图 条形图 我想获得泰坦尼克号事故中幸存者和未幸存者的 2 个年龄直方图 看看年龄分布是否存在差异 来源数据 ht
  • 构建一个简单的解析器,能够使用 PyParse 解析不同的日期格式

    我正在构建一个简单的解析器 它接受如下查询 显示 fizi 从 2010 年 1 月 1 日到 2006 年 2 月 11 日的提交 到目前为止我有 class QueryParser object def parser self stmn
  • 如何配置应用程序中的所有记录器

    Python 的日志记录模块允许模块或类定义自己的记录器 不同的记录器可以有不同的处理程序 其中一些可能选择记录到文件 而另一些则选择记录到标准输出 现在 我的应用程序使用其中几个模块 每个模块都有自己的记录器 这些记录器具有各种处理程序
  • Python Pandas DateOffset 使用另一列中的值

    我以为这会很容易 但下面的内容并不适合我想要的 只是尝试通过使用另一列中的值将天数添加到预先存在的日期时间列来计算新的日期列 我下面的 偏移 列只有 1 位数字 df new date df orig date apply lambda x
  • 获取 pandas 中最后一次出现特定值之后的所有行

    我的数据框看起来像 ID colA 1 B 1 D 2 B 2 D 2 C 我已返回每组中事件 B 最后一次出现后的所有行 输出将是 ID colA 1 D 2 D 2 C 我试过 a df colA str contains B grou
  • 如何检索 SQLAlchemy 结果集的 python 列表? [复制]

    这个问题在这里已经有答案了 我有以下查询来检索单列数据 routes query select schema stop times c route number schema stop times c stop id stop id dis
  • 如何获取DataFrame.pct_change来计算每日价格数据的每月变化?

    我知道可以用periods争论 但是如何将分布在一个月内 例如交易日 的每日价格数据进行回报化呢 示例数据是 In 1 df AAPL 2009 01 02 16 00 00 90 36 2009 01 05 16 00 00 94 18
  • 如何将 c_uint 的 ctypes 数组转换为 numpy 数组

    我有以下 ctypes 数组 data ctypes c uint 100 我想创建一个 numpy 数组np data包含来自 ctypes 数组数据的整数值 ctypes 数组显然稍后会填充值 我看到numpy中有一个ctypes接口

随机推荐

  • 合并最接近值的 Pandas

    我目前正在开发一个项目 在该项目中 我通过仪表指示 公里 匹配并合并两个 Excel 文档 这两个数据帧包含相同类型的数据 但略有不同 我对这个问题的解决方案是将每个数据帧除以 100 以便更轻松地匹配列 然而 正如我预测的那样 有时这不起
  • 如何查看上次 git pull 的时间?

    I did a git pull但现在想知道那件事发生在什么时间 有没有办法检查拉动的时间 请注意 当我进行拉动时 没有发生任何变化 但也许 SSH 连接已被记录 我想在本地计算机而不是服务器上检查这一点 使用 Linux git 版本 2
  • 使用 webView 时是否可以将 HTML 表单中的数据获取到 android 中?

    我正在 HTML 中制作一个非常简单的表单 可以使用 webview 在 android 中查看 该 webview 使用文本框接收您的姓名 当您单击按钮时 它会将其显示到一个段落中 并且它是使用 html 和 javascript 制作的
  • 如何隐藏ide主窗口标题栏? (在 IntelliJ IDEA 中)

    Title bar is completely useless for me Info it shows i can see in navigation bar It only takes space Is it possible to h
  • 提取分隔符之间具有特定长度的整数

    给定一个字符串列表 例如 L 1759 1 83 0 email protected cdn cgi l email protection email protected cdn cgi l email protection 1094 em
  • 如何根据 MVCContrib 网格中的数据设置行的样式?

    我正在修补MVCContrib 网格 http mvccontrib codeplex com wikipage title Grid并陷入如何根据数据格式化网格中的一行数据的问题 例如 假设我们有一个产品网格 其中每个产品都有名称 价格和
  • 端点“/api-docs”不适用于自定义 GsonHttpMessageConverter

    我从 Springfox Swagger 迁移到 Springdoc OpenApi 我在有关 springdoc 的配置中添加了几行 springdoc pathsToMatch api api docs path api docs sw
  • 在外部文件中保存Python字典?

    我正在编写的代码本质上是一个超级基本的人工智能系统 基本上是 Cleverbot 的简单 Python 版本 作为代码的一部分 我有一个起始字典 其中有几个键 其中包含列表作为值 文件运行时 字典会被修改 创建键并将项目添加到关联列表中 所
  • 使用 jquery 和 cookie 切换和保留状态

    我有 2 个用 jquery 切换的 div 我希望它们在页面重新加载时具有相同的状态 因此使用 coockie 但无论如何它都会卡在其中一个 div 上 那是因为我似乎无法设置正确的 coockie 怎么了
  • 重命名 Rails 4 应用程序

    我创建了一个 Rails 4 应用程序 但名称已更改 我已经更新了文件夹名称 但我想知道我需要进入并更新哪些文件才能在整个站点中使用这个新名称 或者是否有 Rails 命令可以快速轻松地完成此操作 https github com mors
  • CSS 转换被 JavaScript 阻止

    我正在尝试在veryJavaScript 的密集期 其中构建并填充了一些相当重的 3d 数组 该加载栏需要保持为空 直到用户单击按钮 发生结冰现象是否我在用着 webkit transition 这个应用程序可以是 chrome 独有的 在
  • 关于 requireEnd Matcher 方法的澄清

    直接来自this http docs oracle com javase 7 docs api java util regex Matcher html requireEnd 28 29java API 公共布尔 requireEnd 如果
  • 如何合并字体?

    我有很多字体 OpenSans bold ttf OpenSans boldItalic ttf OpenSans extrabold ttf OpenSans italic ttf OpenSans light ttf 我将如何继续只创建
  • 在RecyclerView顶部设置进度条并在数据加载后删除

    我想要一个加载图标 显示在 RecyclerView 所在位置的顶部 并在数据加载完成后消失 它看起来像 谁能帮我吗 我的代码显示 RecyclerView 上方有一个 TextView 上面写着 正在加载 并在数据加载后消失 但 Recy
  • 在 cURL PHP 中发送请求时出现 401 未经授权的响应

    我正在尝试使用 GitLab API 解决我的 gitlab 项目问题 我已经尝试过 但它似乎不起作用
  • ms Access 从查询中的文件导入表

    有没有办法让 msAccess DB 查询从文件导入表 是的 只要数据被组织起来 您可以将 VBA 或宏与 TransferText 一起使用 也可以使用菜单或功能区中的 获取外部数据 这将指导您完成这些步骤 EDIT 您可以从 CSV 导
  • NSString 到 NSArray

    我想分割一个NSString进入一个NSArray 例如 给定 NSString myString ABCDEF 我想要一个NSArray like NSArray myArray A B C D E F 如何使用 Objective C
  • GWT为移动设备定制CellList多选模型

    我有一个使用 MultiSelectionModel 的应用程序 它工作得很好 但我需要我正在开发的网站才能在移动设备上工作 所以我无法使用键盘来帮助选择元素 因为它不支持 不存在 例如 在桌面上 我只需按住 ctrl 并单击我想要选择的所
  • SQLAlchemy 提交 pickle 类型

    我在 sqlalchemy 中提交对 pickle 类型 列表 的更改时遇到问题 提交后它将表现得好像什么也没发生一样 这是我尝试提交的功能 def commit move game id player move game game que
  • 管理包:PyCharm vs conda vs pip

    我是 Python 新手 最近在 Windows 10 上安装了 PyCharm 2016 3 我还使用 Anaconda 3 我对包管理不太了解 想更好地了解它 通常我只是使用conda update all但我注意到 通过检查本地 Py