【发布时间】: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 环境中工作。