You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Conda创建环境时找不到openssl=1.1.1b=h1de35cc_0的解决方法

解决conda环境解析失败:找不到特定哈希的openssl版本问题

首先给你拆解下那个h1de35cc_0哈希的含义——这是conda包的平台专属构建标识。h开头的后缀一般对应MacOS平台的编译构建,而你搜到的h0c8e037_0he774522_1这些是Windows或其他平台的同版本openssl构建。出现找不到的情况,大概率是这个旧的MacOS构建已经从conda官方渠道下架,或者你的本地conda索引没同步到这个旧构建。

接下来给你几个可行的解决办法:

  • 直接替换成可用的同版本构建:你完全可以把environment.yml里的- openssl=1.1.1b=h1de35cc_0改成以下两种形式之一:

    1. 只保留版本号:- openssl=1.1.1b,让conda自动为你的系统选择当前可用的同版本构建,省心又靠谱;
    2. 直接指定你搜到的具体构建,比如- openssl=1.1.1b=he774522_1——只要是同大版本(1.1.1b)的构建,核心功能完全一致,只是编译环境或小补丁细节不同,不会影响项目运行。
  • 如果替换后还是有问题,可以试试这些操作:

    1. 更新conda到最新版本:运行conda update conda,旧版conda的渠道索引可能不全,更新后能获取到更多可用包;
    2. 检查你的conda渠道顺序,确保pkgs/main是优先级最高的渠道,避免小众渠道干扰包的查找;
    3. 如果项目对openssl版本没有严格到必须是1.1.1b,也可以放宽版本约束,比如写成- openssl>=1.1.1b,让conda自动匹配兼容的新版本。

总结下:conda的构建哈希是用来精确锁定特定平台的特定编译包,当旧构建不可用时,替换同版本的其他构建完全没问题,不用太担心兼容性问题。

内容的提问来源于stack exchange,提问作者realtebo

火山引擎 最新活动