我想在我的基于 Ubuntu 的机器上安装这个名为 Brat 的软件,除了 Brat 需要 Debian 并且我没有设法在 Ubuntu 上安装它。我以为我可以通过 Docker 容器,为此,我编写了以下 Dockerfile,其中包含了该软件的必要库
FROM debian:8
WORKDIR /home
COPY . /home
RUN apt-get update && apt install -y curl libgdal-dev libspatialindex-dev libxerces-c-dev \
libxrandr-dev xsdcxx libegl1-mesa libproj-dev libgeos-c1\
rsync libsm6 libglu1 libqt5x11extras5
RUN chmod +x brat-4.2.0-x86_64-installer.run
我基于 Dockerfile 构建了一个映像,然后我在 Docker 容器(从构建的映像创建)中手动安装了软件(因为它包含是/否问题)./brat-4.2.0-x86_64-installer.run
:. 我提交了图像并使用以下命令从我的本地主机终端启动了软件 docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix new_brat_debian /usr/local/bin/brat
,其中new_brat_debian是提交的图像的名称。该软件已成功启动,并出现了 GUI 窗口,除了我有一个错误要求安装Numpy库以便软件可以正常运行。我尝试在 Debian 上安装Python3,并按照我能找到的所有方法进行操作,但没有成功。此时我不知道如何解决这个问题,我想到了做docker多阶段构建使用new_brat_debian和 Python 构建的图像,但我不知道是否值得冒险。有没有人对如何在现有的 Docker 映像中包含 Python 有想法或建议?提前谢谢了。
尝试使用最新的 debian
FROM debian:latest
它正在安装 python 3.4 并且 numpy 给出了它需要超过 3.7 的错误。
或者
以下工作
FROM debian:8
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y apt-utils python3 python3-pip python3-numpy
RUN pip3 -V
RUN pip3 show numpy
感谢您的回答@PrithviSingh!问题是 Brat 是基于 Debian:8 构建的,Debian 最新版本不会成为该软件的问题吗?
感谢@PrithviSingh,由于库与最新版本的 Debian 之间的不兼容,第一个建议不起作用。第二个建议奏效了,我的 docker 容器中安装了 python3 和 numpy,非常感谢!
当我启动该软件时,我仍然收到此错误:
File "/usr/local/bin/Python/BratAlgorithm-Example_AlgoUsingNumpy.py", line 42, in <module> import numpy as np ImportError: No module named 'numpy' Exception caught loading python algorithm in /usr/local/bin/Python/BratAlgorithm-Example_AlgoUsingNumpy.py with class Example_AlgoUsingNumpy: Error loading Python module.
当我运行导致错误的文件时,它运行没有问题。在您看来,这个错误的根源可能是什么?谢谢