Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 获取错误“&引用;执行官:\";蟒蛇2\";:在$PATH";中找不到可执行文件:未知。”;尝试以交互方式运行容器时_Python 2.7_Docker - Fatal编程技术网

Python 2.7 获取错误“&引用;执行官:\";蟒蛇2\";:在$PATH";中找不到可执行文件:未知。”;尝试以交互方式运行容器时

Python 2.7 获取错误“&引用;执行官:\";蟒蛇2\";:在$PATH";中找不到可执行文件:未知。”;尝试以交互方式运行容器时,python-2.7,docker,Python 2.7,Docker,我有以下Dockerfile: # Use Python base image from DockerHub FROM python:2.7 WORKDIR /salmon # INSTALL CMAKE RUN apt-get update && apt-get install -y sudo \ && sudo apt-get update \ && sudo apt-get install -y \ pytho

我有以下
Dockerfile

# Use Python base image from DockerHub 
FROM python:2.7 

WORKDIR /salmon

# INSTALL CMAKE
RUN apt-get update && apt-get install -y sudo \
    && sudo apt-get update \
    && sudo apt-get install -y \
    python \
    cmake \
    wget 

#INSTALL BOOST
RUN wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz \
    && mv boost_1_66_0.tar.gz /usr/local/bin/ \
    && cd /usr/local/bin/ \
    && tar -xzf boost_1_66_0.tar.gz \
    && cd ./boost_1_66_0/ \
    && ./bootstrap.sh \
    && ./b2 install

#INSTALL SALMON
RUN wget https://github.com/COMBINE-lab/salmon/releases/download/v0.14.1/salmon-0.14.1_linux_x86_64.tar.gz \
    && mv salmon-0.14.1_linux_x86_64.tar.gz /usr/local/bin/ \
    && cd /usr/local/bin/ \
    && tar -xzf salmon-0.14.1_linux_x86_64.tar.gz \
    && cd salmon-latest_linux_x86_64/ 

ENV PATH=/salmon/

ADD . /salmon
当我试图通过
sudo docker run-v~/Documents/docker/salmon\u test/:/data-it-salmon:00.00.01
以交互方式运行它时,我得到了错误:

"exec: \"python2\": executable file not found in $PATH": unknown."

我不明白为什么我会犯这个错误。我甚至添加了
sudo-apt-get-install-python
命令(我以前没有这个命令),但这也没有解决这个问题。有什么想法吗?

这是因为重写了
$PATH
变量,因此容器找不到可执行文件

默认路径值为

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
因此,当您将其设置为
/salmon/
时,您可以使用完整路径调用python,如
/usr/local/bin/python
,顺便说一句,您不应该像这样更新path变量

最好使用现有的PATH变量进行更新

FROM python:2.7 
ENV PATH="/salmon/:${PATH}"
.
.

ENV PATH=/salmon/
覆盖默认路径变量。。。因此,它不再在
/bin
/usr/bin
等中搜索python2。