Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.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
在Python3.5附带的Ubuntu 16.04上安装Python3.6.5和pip_Python_Pip - Fatal编程技术网

在Python3.5附带的Ubuntu 16.04上安装Python3.6.5和pip

在Python3.5附带的Ubuntu 16.04上安装Python3.6.5和pip,python,pip,Python,Pip,我有一个Dockerfile,它试图安装Python的3.6.5版及其等效的pip,然后安装了许多工具,如ansible、openshift等,但出现了一个错误。下面是代码和面临的错误 FROM ubuntu:16.04 # Create working directory WORKDIR /home/ ENV PYTHON_VERSION='3.6.5' ENV OPENSHIFT_VERSION='0.10.1' RUN apt-get update -y && \

我有一个Dockerfile,它试图安装Python的3.6.5版及其等效的pip,然后安装了许多工具,如ansible、openshift等,但出现了一个错误。下面是代码和面临的错误

FROM ubuntu:16.04

# Create working directory
WORKDIR /home/
ENV PYTHON_VERSION='3.6.5'
ENV OPENSHIFT_VERSION='0.10.1'

RUN apt-get update -y && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
        wget\
        curl \
        unzip \
        build-essential \
        default-jre \
        openssh-client \
        gcc \
        git \
        libdb-dev libleveldb-dev libsodium-dev zlib1g-dev libtinfo-dev \
        jq

# Install Python 3.6.5
RUN wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz \
    && tar xvf Python-${PYTHON_VERSION}.tar.xz \
    && rm Python-${PYTHON_VERSION}.tar.xz \
    && cd Python-${PYTHON_VERSION} \
    && ./configure \
    && make altinstall \
    && cd / \
    && rm -rf Python-${PYTHON_VERSION}

RUN apt-get update && apt-get install -y \
    python3-pip && \
    pip3 install --no-cache --upgrade pip setuptools wheel && \
    pip3 install ansible && \
    pip3 install jmespath && \
    pip3 install openshift==${OPENSHIFT_VERSION} \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
面对下面的错误,最重要的是,python3.5似乎仍在被引用。如何安装python 3.6.5,将其设为默认python,并让安装的pip能够安装所有其他工具

Setting up mime-support (3.59ubuntu1) ...
Setting up libmpdec2:amd64 (2.4.2-1) ...
Setting up libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.13) ...
Setting up python3.5 (3.5.2-2ubuntu0~16.04.13) ...
Setting up libpython3-stdlib:amd64 (3.5.1-3) ...
Setting up libmagic1:amd64 (1:5.25-2ubuntu1.4) ...
Setting up file (1:5.25-2ubuntu1.4) ...
Setting up libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.5) ...
Setting up libpython3.5:amd64 (3.5.2-2ubuntu0~16.04.13) ...
Setting up libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.13) ...
Setting up libpython3-dev:amd64 (3.5.1-3) ...
Setting up python-pip-whl (8.1.1-2ubuntu0.6) ...
Setting up python3.5-dev (3.5.2-2ubuntu0~16.04.13) ...
Setting up python3 (3.5.1-3) ...
running python rtupdate hooks for python3.5...
running python post-rtupdate hooks for python3.5...
Setting up python3-dev (3.5.1-3) ...
Setting up python3-pip (8.1.1-2ubuntu0.6) ...
Setting up python3-pkg-resources (20.7.0-1) ...
Setting up python3-setuptools (20.7.0-1) ...
Setting up python3-wheel (0.29.0-1) ...
Setting up dh-python (2.20151103ubuntu1.2) ...
Processing triggers for libc-bin (2.23-0ubuntu11) ...
Collecting pip
  Downloading https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl (1.5MB)
Collecting setuptools
  Downloading https://files.pythonhosted.org/packages/ae/42/2876a3a136f8bfa9bd703518441c8db78ff1eeaddf174baa85c083c1fd15/setuptools-56.0.0-py3-none-any.whl (784kB)
Collecting wheel
  Downloading https://files.pythonhosted.org/packages/65/63/39d04c74222770ed1589c0eaba06c05891801219272420b40311cd60c880/wheel-0.36.2-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, wheel
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
  Found existing installation: setuptools 20.7.0
    Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
  Found existing installation: wheel 0.29.0
    Not uninstalling wheel at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed pip-21.0.1 setuptools-56.0.0 wheel-0.36.2
Traceback (most recent call last):
  File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/pip/__init__.py", line 16, in main
    from pip._internal.utils.entrypoints import _wrapper
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/utils/entrypoints.py", line 3, in <module>
    from pip._internal.cli.main import main
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax
The command '/bin/sh -c apt-get update && apt-get install -y     python3-pip &&     pip3 install --no-cache --upgrade pip setuptools wheel &&     pip3 install ansible &&     pip3 install jmespath &&     pip3 install openshift==${OPENSHIFT_VERSION}     apt-get clean &&     rm -rf /var/lib/apt/lists/*' returned a non-zero code: 1
编辑文件并尝试:


sudo python3.6-m easy_install pip

根据@Anthony Sottile的建议,我升级到Ubuntu 18.04,并为pip做了以下操作

RUN apt-get update && apt-get install -y \
python3.6 \
python3-pip && \
而且似乎工作得很好

使用python3.6-m pip-您的pip3来自系统python3安装-而且xenial非常接近使用寿命的终点,您可能最好使用更现代的发行版