使用诗歌从 conda-forge(例如 cartopy)安装预构建包,而不依赖 conda(仅使用通道)

Posted

技术标签:

【中文标题】使用诗歌从 conda-forge(例如 cartopy)安装预构建包,而不依赖 conda(仅使用通道)【英文标题】:Install prebuilt packages from conda-forge (e.g. cartopy) using poetry without relying on conda (using only the channel) 【发布时间】:2021-05-05 14:34:17 【问题描述】:

我正在测试poetry,我想知道是否可以在不依赖conda 的情况下从conda-forge 安装预构建包,如cartopy(因此保持100% 的诗歌过程)。我用谷歌搜索了一下,但我发现的唯一方法是使用 pip 在conda venv 中安装诗歌 within,然后使用 condaconda-forge 安装,然后调整诗歌文件以使其知道conda venv 以便正确编写 TOML。

如果不是从预构建版本安装,像 cartopy 这样的包会很痛苦,如果可能的话,如果像 poetry add [?conda-forge?] cartopy 这样的东西有效,我会将我的 conda 堆栈更改为诗歌堆栈

谢谢。

【问题讨论】:

为了清楚起见,您正在寻找一种在不使用 conda(作为包管理器)的情况下从 conda-forge 安装 conda 包的方法? @MattThompson 确切地说,一种指定诗歌使用 pypi 以外的其他 repo 的方法(这里是 conda-forge) 仅供参考 - 他们(pipconda)是不同的包管理器(除了是不同的渠道)。除非最近发生了一些变化,否则诗歌 使用 pip 并且不打算支持 conda install (github.com/python-poetry/poetry/issues/1856)。我承认这有点奇怪,因为它们有很多共同点,但它们不能互换。 @MattThompson 是的,这就是我所理解的。 Poetry 使用 pip,但是您可以安装 预编译 包,例如,poetry add -D "C:\Users\wheels\GDAL-3.2.2-cp38-cp38-win_amd64.whl"。然后我想知道是否有一种方法可以使用 conda-forge 频道/网站或指定一个 URL,而不是在本地下载和存储 *.whl。还是谢谢 【参考方案1】:

目前不可能。 Conda 是一个通用包管理器,而不仅仅是一个 Python 包管理器。此外,Conda 包中没有专门的元数据来区分它们是否是 Python 包,我认为这是 Poetry 能够确定 Conda 包是否可以安装的先决条件。因此,OP 要求的东西不可能是一件事,或者至少将它变成一个重要的任务。

不过,others have requested similar features,因此希望获得此类功能的人可以订阅有关这些功能的通知,或关注 the Feature Roadmap。

【讨论】:

好的,谢谢你的详细信息。我发现知道的解决方法是:1)从 conda-forge(或其他)repo 下载 precompiled 包的 *.whl 2)将它们存储在本地 3)poetry add -D "C:\Users\wheels\precompiled_pkg_name.whl" 请注意,与其下载 *.whl 并将其存储在本地,可以直接使用指向 *.whl 的 URL 这已经可以是安装预构建包和使用诗歌 (将验证委托给用户) @ThomasBury 小心点。许多 Conda 包都使用假定 Conda 环境结构的动态链接构建。

以上是关于使用诗歌从 conda-forge(例如 cartopy)安装预构建包,而不依赖 conda(仅使用通道)的主要内容,如果未能解决你的问题,请参考以下文章

什么是完整的 conda-forge 频道网址?

如何找到 conda-forge 包的 MD5 校验和

无法使用 conda-forge 安装 ggplot

现代诗歌文化 现代友情诗歌现代爱情诗歌-牛寺的诗

无法使用 conda-forge 部署 docker 解决方案

当上传者为“conda-forge”时,更新 conda-forge 中的包