Explicación detallada de la implementación del programa Python de Centos7

El servidor Centos7 implementa Python

La primera mitad de este artículo es el proceso de implementación y la segunda mitad son los problemas y soluciones encontrados durante la implementación, ¡solo como referencia! ! ! El ejemplo de este artículo es implementar el archivo py como ejemplo.

Pasos de implementación:

Después de iniciar sesión en el servidor centos7

1. Verifique la versión de Python

python -V

El sistema viene con la versión 2.7 y el desarrollo local usa 3.8.6, por lo que debe cambiar la versión. No desinstale la versión 2.7, porque yum y otros comandos dependen de python2, así que primero instale la nueva versión y cambie a diferentes versiones. De acuerdo con la situación real al usarlo, solo úsalo.

2. Configuración de red:

Dado que se instalarán muchos paquetes dependientes en operaciones posteriores, debe asegurarse de que el servidor pueda conectarse a la red externa. Puede ignorar este paso según la situación real.

#编辑网络环境
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#连接外网配置:
ONBOOT=yes DNS1=8.8.8.8
#重启网卡:
service network restart
#配置静态ip,否则固定ip不生效,为动态ip
BOOTPROTO=static

Insertar descripción de la imagen aquí

Cambie la red de la máquina virtual al modo puente

3.Instalar Python3.8

Está previsto poner contenido relacionado con Python en usr/local, por lo que:

cd /usr/local

Descargue Python 3. ¡ La versión debe ser coherente con su versión de desarrollo local para evitar problemas de incompatibilidad de versiones con dependencias importadas posteriores! ! ! ! ! :

wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz

Insertar descripción de la imagen aquí
Hay una solución en la segunda mitad.

Descomprimir en el directorio actual:

tar -zxvf Python-3.8.6.tgz -C /usr/local

Después de descomprimir, ingrese al directorio:

cd /usr/local/Python-3.8.6

Simplemente ejecute el comando de configuración:

./configure --prefix=/usr/local/python3.8.6

Compile e instale:

make && make install

Puede usar este comando: /usr/local/Python-3.8.6/bin/pip3 listverifique si python3 se instaló correctamente. Si informa que no se encuentra pip, puede verificar la segunda mitad de la solución.
Insertar descripción de la imagen aquí

Establezca una conexión suave:
dado que el sistema ya instaló la versión python2, el programa de inicio en bin sigue siendo python2. Aquí debemos mover y cambiar el nombre de la versión anterior como copia de seguridad. De lo contrario, ejecute Python directamente desde la línea de comando y la versión anterior. La versión seguirá abierta. Version.

Insertar descripción de la imagen aquí

Ahora necesita establecer un enlace suave al archivo python3 para que python apunte a python3. Ingrese al directorio cd /usr/bin y primero ejecute el comando mv python python.back para hacer una copia de seguridad del python original, y luego ejecute el comando de enlace suave:

ln -s /usr/local/Python-3.8.6/bin/python3.8 /usr/bin/python

Ahora, si ingresamos python directamente, python3 se abrirá de forma predeterminada.
Insertar descripción de la imagen aquí

4. Cree un entorno virtual:

Crear un entorno virtual
Generalmente, cada proyecto diferente dependerá de su propia biblioteca. Las diferentes versiones de algunas bibliotecas causarán conflictos. Para resolver este problema, es necesario utilizar un entorno virtual. Python puede crear su propio entorno virtual en cada proyecto. directorio Proyecto Los paquetes dependientes están en el entorno del directorio actual, lo que evita conflictos de versiones de la biblioteca y facilita la copia y ejecución rápida de proyectos entre los mismos sistemas operativos.
Cree un entorno virtual para el proyecto en el servidor Linux e instale las dependencias requeridas por el proyecto, ejecute los siguientes comandos:

cd /usr/local/Python-3.8.6/bin

Si informa que no se puede encontrar el contenedor

cd /usr/local/python-3.8.6/bin

Instalar entorno virtual

pip3 install virtualenv

Insertar descripción de la imagen aquí
comando pip3 no encontrado Pase
Como find / -name pip3se muestra arriba, si realmente se encuentra,
simplemente haga una conexión suave

ln -sv /usr/local/Python-3.8.6/bin/pip3 /usr/bin/pip3
或
ln -sv /usr/local/python-3.8.6/bin/pip3 /usr/bin/pip3

Ejecutar nuevamente:

pip3 install virtualenv

Insertar descripción de la imagen aquí
¡Instalación exitosa! ! ! !

Para facilitar la operación, agregue un enlace suave a virtualenv:

ln -sv /usr/local/Python-3.8.6/bin/virtualenv /usr/bin/virtualenv
或
ln -sv /usr/local/python-3.8.6/bin/virtualenv /usr/bin/virtualenv

Crear un entorno virtual

virtualenv /usr/local/python3.8.6/workspace

Insertar descripción de la imagen aquí

Ingrese al entorno virtual

cd /usr/local/python3.8.6/workspace

5. Habilite el entorno virtual

cd /usr/local/python3.8.6/workspace

Ejecutando una orden:

source ./bin/activate

6. Preparación de proyectos locales

Generar lista de paquetes de dependencia del proyecto:
En el proyecto local:

>pip3 freeze >requirements.txt

Insertar descripción de la imagen aquí
Contenido del archivo equiquirements.txt:

Insertar descripción de la imagen aquí

7. Instale las bibliotecas en la lista de dependencias:

Cargue el archivo requisitos.txt en el directorio del espacio de trabajo.

Ejecute el comando en el directorio del espacio de trabajo:

 pip3 install -r requirements.txt

Puede haber versiones de paquetes incompatibles u otros problemas durante el proceso de instalación. Tenga paciencia para resolverlos. ¡Consulte la segunda mitad del contenido! ! !

8. Inicie el programa:

Cargue el programa personal city_data.py en el directorio del espacio de trabajo.

Ejecute el comando: nohup en el directorio del espacio de trabajo para garantizar que el programa Python pueda ejecutarse en segundo plano.

nohup python city_data.py &nohup python3 city_data.py &

Después de que el siguiente comando salga de la terminal ssh, el proceso de Python también finalizará.

python city_data.py &
或
python3 city_data.py &

trabajos Ver procesos que se ejecutan en segundo plano

Insertar descripción de la imagen aquí

Matar trabajo: matar %2

%n representa el número de serie de los trabajos

9. Salir del entorno virtual: desactivar

Si desea salir del entorno virtual puede ejecutar desactivar,
este proceso es opcional.
Insertar descripción de la imagen aquí

10. Otros comandos utilizados

Ver detalles del archivo:

ls -l

Borrar archivos:

rm -i filename

#Eliminar directorios vacíos

rm -r 目录名字

#Eliminar el directorio y todos los archivos del directorio

rm -rf 目录名字 

Instalar paquete de sincronización

pip install schedule

Desinstalar un paquete

pip uninstall 要卸载的包名
jobs 查看后台运行的进程
fg %n 让后台进程n转到前台
bg %n 让暂停运行的后台进程n继续运行
kill %n 杀死job,n为job的序号
kill x 通过进程号x杀掉程序 
ctrl+z 使前台正在运行的进程转到后台
ctrl+c 终止前台进程

Ver el proceso de Python:

ps -ef | grep python

El sistema Linux descarga archivos al local:

sz 文件名

Insertar descripción de la imagen aquí

instalación del comando sz:

yum -y install lrzsz

Insertar descripción de la imagen aquí

Colección de informes de errores:

1. Comando descomprimir:

Error: tar: no puede especificar más de una opción que no sea "-Acdtrux" o "--test-label".
Utilice "tar --help" o "tar --usage" para obtener más información.

tar -zxvf Python-3.8.6.tgz -c /usr/local  小写c改成大写

2. Error de que no se ha instalado ningún compilador apropiado: no se encontró ningún compilador de C aceptable en $PATH

Insertar descripción de la imagen aquí

Solución - Instalación: yum install gcc

3.Módulo OpenSSL

Error al instalar python3.8: No se puede encontrar el módulo OPENSSL:
Insertar descripción de la imagen aquí
actualice el entorno de openssl a openssl-1.1.1
Insertar descripción de la imagen aquí
y actualice:

yum update

Instale el compilador gcc:

yum install gcc

Instale bibliotecas dependientes de zlib:

yum install zlib-devel

Instalar bibliotecas dependientes de openssl

yum install openssl-devel

ifconfig, si ingresa "bash: ifconfig: comando no encontrado" **

yum install -y net-tools.x86_64

Informe: Sistema operativo: x86_64-whatever-linux2 Necesitas Perl 5.
Descarga el enlace de perl5:

https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz

Abrir la cremallera:

tar -xzf perl-5.30.1.tar.gz

Precompilado:

./Configure -des -Dprefix=$HOME/localperl

Compile e instale:

make && make install

Instalar openssl

descargar:

wget http://www.openssl.org/source/openssl-1.1.1v.tar.gz

Instalar:

tar zxf openssl-1.1.1v.tar.gz

Ingresar:

cd openssl-1.1.1v

Precompilar y configurar:
./config --prefix=/usr/local/openssl #Si se informa un error, instale los paquetes perl y gcc según sea necesario

Compilar e instalar:

make && make install

Respaldo:

mv /usr/bin/openssl /usr/bin/openssl.bak

Crea un enlace suave:

ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl

Actualizar datos de la biblioteca de enlaces dinámicos:

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

La configuración entra en vigor:

ldconfig

Ver versión:

openssl version

Error: -bash: /usr/bin/openssl: No existe tal archivo o directorio:

1. (Este método ya se ha utilizado, pero no estoy seguro de si tiene algo que ver con este momento)

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

Enlace suave:

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/lib64/libssl.so.1.1  /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1  /usr/lib64/libcrypto.so.1.1
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf

2. (Usando esta solución)
Agregue la variable de entorno OPESSL. En la última línea de etc/profile, agregue:
#Modificando el archivo de perfil:

vim /etc/profile

Escribe en la última línea del archivo:

export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin

Si desea que entre en vigor inmediatamente, debe ejecutar el siguiente comando; de lo contrario, solo entrará en vigor la próxima vez que inicie sesión como este usuario.

source /etc/profile

3. (No usado)
Usar el código fuente es demasiado engorroso. Si no hay requisitos especiales para la versión del software, puede usar el comando yum para instalar y actualizar, lo cual es conveniente y rápido.

yum install openssl
yum update openssl

4.Comandos pip y pip3 no encontrados

Si comprueba en cd /usr/bin/el directorio que no hay PIP, debe instalarlo:

sudo yum install python3-pip
或
sudo apt-get install python3-pip

actualización pip3:

pip3 install --upgrade pip

5. No se puede encontrar el comando vim:

Primero verifique si está instalado, comando:

rpm -qa | grep vim

Se descubrió que solo se instalaron algunos paquetes y faltaba la instalación.
Reinstale directamente:

yum -y install vim*

6.yum informa un error y no se puede utilizar

Modificar la configuración de yum:
editar:

vi /usr/bin/yum

Modificar de la siguiente manera:

#!/usr/bin/python2.7

Salir y guardar:
Tecla Esc
: wq

7. Versión de dependencia

Al ejecutar pip3 install -r requisitos.txt, se produce un error:

报错: No se pudo encontrar una versión que satisfaga el requisito cachetools5.2.0, ERROR: No se encontró ninguna distribución coincidente para cachetools5.2.0
Insertar descripción de la imagen aquí
La versión especificada por cachetools en el archivo requisitos.txt es 5.2.0. Si esta versión no se encuentra durante la importación, solo puede cambiar el número de versión de acuerdo con las indicaciones en la figura y modificarlo en requisitos.txt. archivo.
Insertar descripción de la imagen aquí

Para instalar un paquete individualmente:

pip install cachetools==5.2.0  -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

Error informado por el paquete twisted-iocpsupport:
twisted-iocpsupport==1.0.3
twisted-iocpsupport es un paquete de software que proporciona enlace a la API del "Puerto de finalización de E/S" de Windows. Estas API solo están disponibles en Windows. Elimine esta dependencia en el entorno Linux.
Debido a que está desarrollado localmente en el sistema Windows, elimine la información de twisted-iocpsupport en el archivo requisitos.txt cuando lo use en Linux.

8.python setup.py egg_info

Contenido del error:

El comando "python setup.py egg_info" falló con el código de error 1 en /tmp/pip-build-9hga3ga5/cryptography/
Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

Según se le solicite: actualice al último pip y vuelva a intentarlo. Esto solucionará la mayoría de los errores
. Actualizar

pip3 install --upgrade pip

9. Cursores

variable local 'cursor' a la que se hace referencia antes de la asignación

La conexión de la base de datos puede fallar, provocando que falle la creación del objeto.

10.comando wget no encontrado

Compruebe si wget está instalado

rpm -qa|grep "wget"

Instalar:

yum -y install wget

11. Informe de errores de Zlib

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Modificación de la configuración del archivo urlgrabber-ext-down:

vi /usr/libexec/urlgrabber-ext-down

修改成#! /usr/bin/python2.7

implementar:

sudo yum install zlib

Una vez completada la instalación, se descubre que todavía se produce un error y es necesario instalar zlib-dev, por lo que instalamos la biblioteca zlib nuevamente.

 sudo yum install zlib*

12.No se encontró ninguna distribución coincidente para virtualenv al instalar un entorno virtual

Insertar descripción de la imagen aquí
Debería ser un problema de red, que se puede solucionar ejecutando el siguiente comando:

pip3 install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

Supongo que te gusta

Origin blog.csdn.net/FORLOVEHUAN/article/details/132321103
Recomendado
Clasificación