【问题标题】:gdebi: installing deb package with python < 3.7 dependencygdebi:使用 python < 3.7 依赖安装 deb 包
【发布时间】:2022-10-24 08:00:55
【问题描述】:

我需要安装 Phillips Pathology SDK,它作为依赖于 Python 3.6 的模块集合分发。目前可以从this link 下载它们。这带有一个安装所有模块的安装 bash 脚本。脚本是这样的:

#!/bin/sh
set -e
PYTHON3_VERSION="py3"
ACCEPT=$2
INPUT_PYTHON_VERSION=$1

if [ "$INPUT_PYTHON_VERSION" = "" ];then
        echo "$(tput setaf 1)Python argument Not given$(tput sgr 0)"
        exit
fi

agreement() {
echo "$(tput setaf 3)By installing this software, you agree to the End User License Agreement for Research Use.$(tput sgr 0)"
echo "$(tput setaf 3)Type 'y' to accept.$(tput sgr 0)"
read -p "Enter your response:"  ACCEPT_AGREEMENT
}

installSdk() {
apt-get install -y gdebi
if [ "$PYTHON3_VERSION" = "$INPUT_PYTHON_VERSION" ];then
        echo "$(tput setaf 2)Installing PathologySDK2.0 modules please wait... $(tput sgr 0)"
        gdebi -n ./pathologysdk-modules/*pixelengine*.deb
        gdebi -n ./pathologysdk-python36-modules/*python3-pixelengine*.deb
        gdebi -n ./pathologysdk-modules/*eglrendercontext*.deb
        gdebi -n ./pathologysdk-python36-modules/*python3-eglrendercontext*.deb
        gdebi -n ./pathologysdk-modules/*gles2renderbackend*.deb
        gdebi -n ./pathologysdk-python36-modules/*python3-gles2renderbackend*.deb
        gdebi -n ./pathologysdk-modules/*gles3renderbackend*.deb
        gdebi -n ./pathologysdk-python36-modules/*python3-gles3renderbackend*.deb
        gdebi -n ./pathologysdk-modules/*softwarerenderer*.deb
        gdebi -n ./pathologysdk-python36-modules/*python3-softwarerenderbackend*.deb
        gdebi -n ./pathologysdk-python36-modules/*python3-softwarerendercontext*.deb
        echo "$(tput setaf 2)PathologySDK2.0 successfully installed$(tput sgr 0)"

else
        echo "$(tput setaf 1)Selected python version is NOT supported.$(tput sgr 0)"
        exit 0

fi

}

if [ "$ACCEPT" = "-y" ]; then
    echo "$(tput setaf 2)Accepted end user license agreement.$(tput sgr 0)"
    installSdk
    exit 0
elif [ "$ACCEPT" = "" ];then
    agreement
    if [ "$ACCEPT_AGREEMENT" = "y" ]; then
        installSdk
        exit 0
    else
        echo "$(tput setaf 1)Exiting installation. Please accept the end user license agreement to install the SDK.$(tput sgr 0)"
        exit 0
    fi
else
    echo "$(tput setaf 1)Exiting installation. Please accept the end user license agreement to install the SDK.$(tput sgr 0)"
    exit 0
fi

我使用 miniconda 来管理 Python 环境并创建了一个新的 python=3.6.3 环境来安装这些模块。但是,当它运行第二个命令(gdebi -n ./pathologysdk-python36-modules/python3-pixelengine.deb),它失败并出现以下错误:

This package is uninstallable 
Dependency is not satisfiable: python3 (< 3.7)

如果我运行python3 --version,我会得到“Python 3.6.3”。如果我自己在环境中运行 gdebi 命令而没有脚本,我会得到同样的错误。

如何让 gdebi 使用我的 conda 环境的 Python 版本?

【问题讨论】:

  • 你的操作系统版本是多少?
  • Ubuntu 20.04,我正在使用他们的 18.04 安装程序
  • 如果有人对未来感兴趣:我最终对分析进行了 dockerizing,因为我无法使其仅在 conda 环境中工作。

标签: python ubuntu conda deb


【解决方案1】:

Dependency is not satisfiable: python3 (&lt; 3.7)的问题你搞清楚了吗?

我也面临这个问题。我正在使用 anaconda python 3.6.13。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2018-12-30
    • 2014-05-19
    • 2011-11-12
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多