Conda 使用 pint 构建无法满足的依赖项错误

Eth*_*ler 7 python macos anaconda conda conda-build

我有一个有效的 pip 包,我试图将它放到 Anaconda.org 服务器上。我使用 conda 框架创建了 meta.yaml 文件,其中包含对 pint 的要求(未选择特定版本,因此它应该默认为最新版本。)但是,当我尝试使用 conda build 构建包时,conda 会引发此错误: raise DependencyNeedsBuildingError(exc, subdir=subdir) conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: ['pint'] 但是,有一个为 osx-64 构建的品脱......在 conda 和 pip 以及我的机器上 - 这是我用来运行我的 pip 包的那个。conda 正在寻找哪个存储库以找到该要求,以及如何指定要在 meta.yaml 中使用的正确品脱?

dar*_*ith 7

Conda 正在搜索您配置中的通道,您可以使用命令查看这些通道

conda config --get channels
Run Code Online (Sandbox Code Playgroud)

(或conda config --show)。Conda build 始终从存储库安装包(也就是说它不依赖于您在本地安装的包),因为这是一般用户在安装您的包时会执行的操作。在您的情况下,您需要添加一个通道来提取pint包裹;您可以通过在 Anaconda.org 上搜索来找到合适的频道,在这种情况下,该conda-forge频道(其中包括我推荐的频道)包含该pint套餐。您可以将频道添加到您的配置中

conda config --add channels conda-forge
Run Code Online (Sandbox Code Playgroud)

或者您可以将它用于此单个构建,-c并可选择conda build

conda build -c conda-forge your_package_name
Run Code Online (Sandbox Code Playgroud)

有关conda-build更多信息,请参阅。