El código fuente de Ubuntu 14.04 compila e instala Python3.6 (reserva 3.4 preinstalado en el sistema)

El código fuente de Ubuntu 14.04 compila e instala Python3.6 (reserva 3.4 preinstalado en el sistema)

# Cambiar root
sudo su-

# Descargue la fuente
cd / tmp
wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz

# 安装 编译 环境 , https: //realpython.com/installing-python/#compiling-python-from-source
sudo apt-get update
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
                libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
                libncursesw5-dev xz-utils tk-dev

# 防止 Hacer 时 出错 doble libre o corrupción (! Prev)
# https://github.com/tensorflow/tensorflow/issues/8717
sudo apt-get -y install google-perftools
export LD_PRELOAD = "/ usr / lib / libtcmalloc. so.4 " 

#
Preconfiguración , opcional para la optimización, tar -xf Python-3.6.10.tgz
cd Python-3.6.10
./configure --prefix = / usr / local / python3 --enable-optimizations

# Compilar código fuente
make && echo OOKK

# Además, todo el paquete fuente se puede empaquetar después de compilar make
# Comando de empaquetado
cd / tmp && tar -cf py36maked.tar Python-3.6.10 && gzip py36maked.tar
# Instalado en la misma máquina de configuración, adecuado para múltiples máquinas en la nube Mismo servidor

# En cualquier servidor con la misma configuración
sudo -s # Cambie a root y permanezca en la carpeta actual
rm -rf Python-3.6.0 # Elimine la carpeta fuente anterior
rm -rf / usr / local / python3 / # Delete Archivo binario antiguo
# Descomprima e instale
tar xf py36maked.tar.gz
cd Python-3.6.10
make install && echo OOOKKK # Instale 3.6 versión
exit # Salga del usuario root

# Soft connect pip3 y python3.6, -f fuerza para crearlo para sobrescribir
sudo ln -sf /usr/local/python3/bin/python3.6 /usr/bin/python3.6
sudo ln -sf / usr / local / python3 / bin / pip3 / usr / bin / pip3
sudo ln -sf / usr / bin / pip3 / usr / bin / pip

# Varias versiones de coexistencia
# El / usr / bin / python3 original es /usr/bin/python3.4 No lo mueva
sudo update-alternative --config python3 # Vea qué versiones están disponibles actualmente
sudo update-alternative --remove python3 / usr /bin/python3.6 # Elimine las
alternativas de actualización de sudo de la versión 3.6 adicional --instalar / usr / bin / python3 python3 /usr/bin/python3.4 1 # Cuanto mayor sea el número final, mayor será la prioridad de
sudo update-alternativas --install / usr / bin / python3 python3 /usr/bin/python3.6 2
sudo update-alternativas --auto python3 # Establecido en modo automático
# En modo automático, las alternativas de actualización elegirán la que tenga el valor de mayor prioridad, aquí hay 3.6

# Otorgue al usuario actual permiso para operar / usr / local / python3 / para instalar el archivo de biblioteca
sudo chown -R `id -u`:` id -g` / usr / local / python3 /


# Conflicto de versión resuelta # subproceso. CalledProcessError: Comando '(' lsb_release ',' -a ')' durante la instalación de pip
# Método uno: averigüe dónde se esconde lsb_release.py, https://www.jianshu.com/ el p / 3a2877edebe8
el find / -name lsb_release.py
/usr/lib/python3/dist-packages/lsb_release.py
/usr/lib/python2.7/dist-packages/lsb_release.py
# copia de lsb_release.py a python3.6 Directorio de la biblioteca
sudo cp
/usr/lib/python3/dist-packages/lsb_release.py /usr/local/python3/lib/python3.6/ # lsb_release 
# Display No hay módulos LSB disponibles. Significa que es normal.

# Método dos: no recomendado, no sé qué secuelas, https://github.com/pypa/pip/issues/4924
sudo mv / usr / bin / lsb_release /usr/bin/lsb_release.bak


# Prueba pip3 install software
pip3 install virtualenv --user
# --tabla de usuario con permisos de usuario actuales, no es necesario
# Debido a que el usuario actual ya tiene permiso para operar / usr / local / python3 /
# Los archivos de la biblioteca de terceros se instalan principalmente en / usr / local / python3 / lib / python3.6 / site-packages

# Upgrade pip
pip3 install --upgrade pip

 

 

27 artículos originales publicados · elogiados 4 · visitas 9691

Supongo que te gusta

Origin blog.csdn.net/yoshubom/article/details/104352748
Recomendado
Clasificación