Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

682
Vistas
¿Puedo instalar python 3.7 en ubuntu 18.04 sin tener python 3.6 en el sistema?

Lea la pregunta detenidamente antes de cerrarla como duplicada, creo que el caso de uso es único.

Estoy tratando de crear una imagen acoplable que solo tenga instalado Python 3.7 , el problema es que si trato de instalar pip, el comando también instala Python 3.6 que no quiero .

La parte relevante del archivo docker ideal que estoy modificando es la siguiente

 FROM ubuntu:18.04 # Upgrade installed packages RUN apt-get update && apt-get upgrade -y && apt-get clean # (...) # Python package management and basic dependencies RUN apt-get install -y python3.7 python3.7-dev python3.7-pip # Register the version in alternatives RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 # Set python 3 as the default python RUN update-alternatives --set python /usr/bin/python3.7 # Upgrade pip to latest version RUN python -m ensurepip --upgrade # (...)

Esto fallaría ya que python3.7-pip no parece existir; solo python3-pip lo hace, que es lo que instala python 3.6 por alguna razón.

Intenté no instalar pip en absoluto y hacerlo manualmente, así

 # (...) RUN apt-get install -y python3.7 python3.7-dev # (...) RUN curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py RUN python get-pip.py pip --no-setuptools --no-wheel

Que falla con este error:

 Traceback (most recent call last): File "get-pip.py", line 21492, in <module> main() File "get-pip.py", line 197, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", line 82, in bootstrap import pip._internal File "/tmp/tmpbez2vju9/pip.zip/pip/_internal/__init__.py", line 40, in <module> File "/tmp/tmpbez2vju9/pip.zip/pip/_internal/cli/autocompletion.py", line 8, in <module> File "/tmp/tmpbez2vju9/pip.zip/pip/_internal/cli/main_parser.py", line 8, in <module> File "/tmp/tmpbez2vju9/pip.zip/pip/_internal/cli/cmdoptions.py", line 14, in <module> ModuleNotFoundError: No module named 'distutils.util'

Nuevamente, la instalación de python3-distutils hace que python 3.6 aparezca en el sistema

Entonces, ¿hay alguna manera de instalar SOLO un python 3.7 completamente funcional en ubuntu 18.04, SIN tener que instalar python 3.6?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En caso de que alguien más esté de acuerdo con la instalación de Python3.6 como efecto secundario (python3.7-distutils lo presenta como lo señala OP). Esto instalará Python3.7 por defecto y tendrá el último pip disponible usando su instalación de python3.7

 FROM ubuntu:18.04 # Upgrade installed packages RUN apt-get update && apt-get upgrade -y && apt-get clean # (...) # Python package management and basic dependencies RUN apt-get install -y curl python3.7 python3.7-dev python3.7-distutils # Register the version in alternatives RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 # Set python 3 as the default python RUN update-alternatives --set python /usr/bin/python3.7 # Upgrade pip to latest version RUN curl -s https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ python get-pip.py --force-reinstall && \ rm get-pip.py # (...)
over 4 years ago · Santiago Trujillo Denunciar

0

Veo dos opciones:

  1. Usando una imagen de Ubuntu, deje el Python del sistema intacto. Instale pyenv ( https://github.com/pyenv/pyenv ), luego descargue una instalación de python 3.7, completamente separada de Python del sistema.

o

  1. Use la imagen oficial de Python etiquetada como 3.7.3-stretch o 3.7.3-slim-stretch (Debian)
over 4 years ago · Santiago Trujillo Denunciar

0

La solución de @donhector tiene dos problemas sutiles:

  1. Solo instalará la versión obsoleta 3.7.5 de Python. Necesitas el repo ppa:deadsnakes para obtener versiones más nuevas
  2. Al instalar alternativas para python , se rompe la convención de que python se usa para Python 2.x. Esto podría romperse, consulte ¿Cómo actualizar las alternativas a Python 3 sin romperse?

Una solución sin estos problemas es:

 FROM ubuntu:18.04 # Upgrade installed packages RUN apt update && apt upgrade -y && apt clean # install python 3.7.10 (or newer) RUN apt update && \ apt install --no-install-recommends -y build-essential software-properties-common && \ add-apt-repository -y ppa:deadsnakes/ppa && \ apt install --no-install-recommends -y python3.7 python3.7-dev python3.7-distutils && \ apt clean && rm -rf /var/lib/apt/lists/* # Register the version in alternatives (and set higher priority to 3.7) RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2 # Upgrade pip to latest version RUN curl -s https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ python3 get-pip.py --force-reinstall && \ rm get-pip.py
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda