Respuestas:
Esto debería ponerlo en funcionamiento con Python 3.7 en Ubuntu 16.04
# Install requirements
sudo apt-get install -y build-essential \
checkinstall \
libreadline-gplv2-dev \
libncursesw5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev \
zlib1g-dev \
openssl \
libffi-dev \
python3-dev \
python3-setuptools \
wget
# Prepare to build
mkdir /tmp/Python37
cd /tmp/Python37
# Pull down Python 3.7, build, and install
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xvf Python-3.7.0.tar.xz
cd /tmp/Python37/Python-3.7.0
./configure
sudo make altinstall
Entonces simplemente llamarías a Python así:
python3.7 ./yourScript.py
Esta es una captura de pantalla de varias versiones de Python coexistentes en un contenedor acoplable y cómo se pueden distinguir:
Pip debería haberse instalado también con esta instalación. Para instalar paquetes use este formato:
pip3.7 --version
apt install libffi-dev
evitar el siguiente error en el paso altinstall (Ubuntu 16.04 LTS):python ModuleNotFoundError: No module named '_ctypes'
No recomendaría jugar manualmente con instalaciones y rutas de código fuente. Usepyenv
y ahórrese el problema.
Todo lo que tienes que hacer es:
pyenv
instaladorPor ejemplo, para instalar 3.7, verifique qué versiones están disponibles:
pyenv install -l | grep 3.7
Entonces corre:
pyenv install 3.7.1
Ahora, puedes elegir tu versión de Python:
pyenv global 3.7.1
Esto cambia su python
punto a 3.7.1. Si quieres el sistema python, ejecuta:
pyenv global system
Para verificar qué versiones de Python están disponibles, ejecute pyenv versions
.
Puede descargar el código fuente desde www.python.org, compilarlo y compilarlo desde el código fuente, y luego:
1) Anteponga la ruta a los ejecutables de Python PATH
y a las bibliotecas LD_LIBRARY_PATH
.
2) Haz lo que hice y compila y construye desde la fuente y crea enlaces simbólicos a los ejecutables en /usr/bin
. Puede llamarlo python37
para distinguirlo del python 3.5
que ya está instalado.
El primer método lo usará en su entorno de forma predeterminada, mientras que con el segundo, tendrá que especificarlo con el comando que utilizó para el enlace simbólico. Es posible que desee usar el segundo método primero antes de que sea el predeterminado, ya python 3.7
que todavía está en desarrollo.