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
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
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 list
verifique si python3 se instaló correctamente. Si informa que no se encuentra pip, puede verificar la segunda mitad de la solución.
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.
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.
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
comando pip3 no encontrado Pase
Como find / -name pip3
se 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
¡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
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
Contenido del archivo equiquirements.txt:
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
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.
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 文件名
instalación del comando sz:
yum -y install lrzsz
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
Solución - Instalación: yum install gcc
3.Módulo OpenSSL
Error al instalar python3.8: No se puede encontrar el módulo OPENSSL:
actualice el entorno de openssl a openssl-1.1.1
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
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.
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/
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
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
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