Miniconda找不到已安装的软件包

时间:2020-08-27 03:27:39

标签: python docker anaconda conda miniconda

一段时间以来,我一直在为Python环境使用Dockerfile配方。但是现在我遇到了一个问题。使用miniconda / conda软件安装的python无法找到我通常使用setup.py方法与安装前缀一起安装的某些软件包。仅在删除--prefix规范后,才可以通过tis python解释器找到该软件包。

为了说明这个问题,我在前面提到的dockerfile中有一部分正在使用:

FROM docker.io/nvidia/cuda:10.1-devel-ubuntu18.04 AS devel

RUN apt-get update -y && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
        g++ \
        gcc \
        gdb \
        git \
        pkg-config \
        vim \
        cmake \
        wget && \
    rm -rf /var/lib/apt/lists/*

ENV LD_LIBRARY_PATH=/opt/lib64:${LD_LIBRARY_PATH} \
    PATH=/opt/conda/bin:${PATH} \
    PKG_CONFIG_PATH=/opt/lib/pkgconfig:${PKG_CONFIG_PATH} \
    PYTHONPATH=/opt/lib/python3.7/site-packages:${PYTHONPATH}


RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /opt/miniconda.sh && \
    cd /opt && \
    chmod +x miniconda.sh && \
    ./miniconda.sh -b -p /opt/conda && \
    rm -f ./miniconda.sh && \
    /opt/conda/bin/conda install -y  python==3.7.7  numpy pyyaml pytest pyarrow pip

RUN cd /opt && \
    git clone https://github.com/pybind/pybind11.git && \
    cd pybind11 && \
    mkdir build && \
    cd build && \
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr && \
    make -j && \
    make -j install && \
    cd .. && \
    echo $(which python) $(python --version) && \
    python setup.py install --prefix=/opt && \
    rm -rf ../pybind11

仅当我从命令--prefix中删除了python setup.py install --prefix=/opt规范时,才会找到pybind11软件包。更复杂的是,当我指定前缀路径时,其他一些软件包仍然可以使用。

谢谢

0 个答案:

没有答案