Desarrollo de desarrollo y programa basado en el entorno Centthon Python2.7 del sistema

Prólogo

El autor mide el siguiente contenido en el sistema centos6.9, desarrollado y perfeccionado de acuerdo con los requisitos reales del proyecto, y finalmente garantiza el funcionamiento normal del programa.

 

Actualización de la versión de Python

Cuando se opera bajo el sistema Linux, los archivos bajo las ventanas anteriores deben importarse. Cuando no se pueden extraer directamente, se pueden realizar a través de una carpeta compartida.

Crea una carpeta compartida

  • Vaya a Máquina virtual-> Configuración-> Opciones-> Carpeta compartida, seleccione Activar siempre y agregue la ruta del host y configure la carpeta compartida.

  • Después de iniciar sesión en el sistema, abra la carpeta Computer-> mnt-> hgfs, puede ver la carpeta compartida agregada anteriormente;

  • Cuando sea necesario transferir archivos entre el host y la máquina virtual, simplemente colóquelos en una carpeta compartida.

Instalar zlib

Dado que zlib no está incluido en el sistema Centos, y se requiere zlib al instalar el módulo de Python, y zlib debe instalarse primero y luego compilarse y compilarse (si Python ya está instalado, necesita recompilar Python), zlib puede funcionar correctamente. Ingrese el comando (descargar e instalar):

yum install zlib
yum install zlib-devel

Proceso de actualización

Descargue la última versión de Python2 del sitio web , que Gzipped source tarballestá instalado para el sistema Linux. Después de la descarga, el host pasa a la máquina virtual a través de la carpeta compartida. En la máquina virtual, ábrala Terminaly luego proceda de la siguiente manera:

python --version
out:python 2.6.6 #确定当前系统版本
​
tar –zxvf Python-2.7.14.tgz # 将下载的最新版本解压
cd Python-2.7.14
mkdir /usr/local/lib/python2.7
./configure --prefix=/usr/local/lib/python2.7 #解压后的目录下编译安装
make
make install
​
# 建立软连接,使系统默认的python指向python2.7
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/lib/python2.7 /usr/bin/python
​
python --version #查看python版本是否已经正常更新

Modificar yum

Debido a que yum usa algunos scripts del python2.6 original, debe redirigir yum al intérprete original de python2.6 para usarlo.


which yum #找到yum位置
out:/usr/bin/yum
vim /usr/bin/yum #进入编辑模式,将python修改为python2.6,完成编辑后按Esc退出编辑模式,并输入#:wq保存并退出。

Instalar los módulos necesarios.

herramientas de instalación

Ingrese la carpeta después de la descompresión, ingrese el comando:


python setup.py build
python setup.py install

Tkinter

  • Instale el módulo Tkinter. Después de la instalación, se puede usar el propio python del sistema, lo que indica que Tkinter se instaló correctamente, pero el python2.7 actualizado no se puede usar y la configuración debe continuar.

    
    yum -y install tkinter
    ​
    python
    ​
    import Tkinter
  • Ingrese a la carpeta de instalación de Python, edite el archivo Setup.dist, encuentre las siguientes cinco líneas y elimine el # anterior

    
    _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
    -L/usr/local/lib \
    -I/usr/local/include \
    -ltk8.5 -ltcl8.5 \
    -lXll
  • El valor predeterminado de ltk y ltcl es 8.2, que debe modificarse de acuerdo con la versión real del sistema tcl / tk. Puede verificar la versión real con el siguiente comando.


rpm -qa | grep ^tk
out:tk -8.5.7-5.el6.x86_64
out:tkinter-2.6.6-36.el6.x86_64
​
rpm -qa | grep ^tcl
out:tk -8.5.7-6.el6.x86_64
​
yum -y install tcl-devel tk-devel #安装tck-devel和tk-devel
#配置安装
ldconfig
./configure
make
make install

pipa

Abra la página web para descargar la última versión pip-10.0.1.tar.gzy luego ejecute el siguiente código:


tar zxvf pip-10.0.1.tar.gz
cd pip-10.0.1
python setup.py install
​
# pip install xxx,执行该命令时,出现错误:
# pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
rpm -aq|grep openssl # 查看openssl安装包,发现缺少openssl-devel包
yum install openssl-devel -y #yum安装openssl-devel
rpm -aq|grep openssl #查看安装结果
vi Python-2.7.14/Modules/Setup #修改Setup文件,即修改安装文件,可以直接路径下打开修改
# 修改为如下结果(其中起始没有#的行,是因为以删除)
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
​
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto
    
#修改完保存,重新编译python,测试可正常使用
make
make install
​

Pyinstaller


pip install pyinstaller #安装
​
pyinstaller -F -c xxx.py #出现如下所示错误
#OSError: Python library not found: libpython3.4mu.so.1.0, libpython3.4m.so.1.0, libpython3.4.so.1.0
#由于在系统的lib路径中找不到这个共享库。
#重新编译python,测试可正常使用(如果编译时加上了--enable-shared,才会编译这个共享库,默认的位置是python可执行程序所在目录的lib目录下,如/usr/local/python27)
./configure --enable-shared --prefix=/usr/local/lib/python2.7 #后面路径由于之前已经配置过,可以不加make
make install
#安装后将/usr/local/python/lib目录下的libpython2.7.so和libpython2.7.so.1.0复制到/usr/lib64中。
python --version #查看python是否正常。
pyinstaller -F -c xxx.py #打包成功得到xxx可执行文件

Se pueden realizar diferentes métodos de empaque mediante la formulación de diferentes parámetros, que incluyen:

  • -F , -onefile: La especificación de esta opción generará un archivo exe total y todos los archivos se agregarán a este.

  • -D, -onedir: Es más conveniente generar un directorio para contener el archivo exe para su distribución.

  • -K, -tk: Al implementar, incluya TCL / TK, que es adecuado para archivos python con interfaz gráfica.

  • -a, -ascii: No se incluye codificación, ya que todas las codificaciones se incluyen por defecto en la versión de Python que admite Unicode, esta opción básicamente no es muy útil.

  • -d, -debug: Generar un archivo ejecutable de la versión de depuración.

  • -s, -strip: Esto se refiere a las palabras de otras personas como "los archivos ejecutables y las bibliotecas compartidas se ejecutarán a través de la tira, tenga en cuenta que la tira de Cygwin a menudo deja inutilizable el win32DLL ordinario".

  • -X, -upx: Método de compresión, si UPX está instalado, el archivo fuente se comprimirá para su ejecución.

  • -o DIR, -out=DIR: Especifique DIR como el directorio de generación exe. Si no se especifica, el valor predeterminado es el directorio de descompresión de pyinstaller, y se creará un directorio con el mismo nombre basado en el archivo python para guardar el archivo exe generado.

  • -p, DIR, -path=DIR: Establezca la ruta de las variables de entorno importadas, separadas por punto y coma en inglés debajo de Windows, o puede usar múltiples -popciones para establecer múltiples rutas para importar.

  • -icon=<FILE.ICO>: Agregue file.ico como el ícono del archivo exe.

  • -icon = <FILE.EXE, N>: El principio es el mismo que el anterior.

Otros

Xlrd, paho.mqtt, seis y otros módulos, descargue el paquete de instalación tar.gz, descomprima el paquete de instalación a través del comando tar -zxvf, luego ingrese la carpeta, ingrese python setup.py install para instalar.

Comandos comunes

ñam

yum (Yellow dogUpdater, Modified) es un administrador de paquetes front-end de Shell, que puede descargar e instalar automáticamente paquetes RPM desde un servidor específico, puede manejar dependencias automáticamente e instalar todos los paquetes dependientes a la vez sin descargas tediosas. Instalar Proporciona comandos para buscar, instalar, eliminar un paquete determinado, un grupo o incluso todos los paquetes.

sintaxis yum: yum [opciones] [comando] [paquete ...]

opciones: opcional, las opciones incluyen -h (ayuda), -y (cuando el proceso de instalación solicita seleccionar todo sí), -q (no muestra el proceso de instalación), etc.

comando: La operación a realizar, actualizar (actualizar), instalar (instalar), eliminar (eliminar), etc.

paquete: el objeto a ser operado.

Otros


cd ~/Desktop #返回桌面目录
cd .. #返回上一级目录
tar –zxvf xxx.tar.gz #解压
mkdir /xxx/xxx #创建文件夹
which python #查看路径
./xxx # ./表示当前路径,xxx表示linux下可执行文件名
tar zxvf xxx.tar.gz #解压tar.gzwen
tar xvJf xxx.tar.xz

biblioteca de enlaces dinámicos c / c ++

El archivo .dll generado se llama en Windows, y el archivo .so generado se llama en Linux. Al compilar el código C, finalmente se genera el archivo .so ejecutable por python. Los pasos específicos son los siguientes (también puede escribirse en el archivo MAKE y compilarse mediante el comando make):

  • gcc -c test.c, generará el archivo test.o (innecesario)

  • gcc -fPIC -compartido test.c -o test.so, se generará el archivo test.so

Entre ellos, -compartido: indica que la biblioteca de enlace dinámico está especificada para ser generada, y el programa externo no se puede conectar sin este indicador, que es equivalente a generar un archivo ejecutable;

-fPIC: compilar en código independiente de la posición. Sin esta opción, la posición del código compilado está relacionada, por lo que el código se copia para satisfacer las necesidades de los diferentes procesos durante la carga dinámica, y el propósito de compartir el código verdadero no se puede lograr. .

Para el código C ++, debe compilar con g ++, y debe agregar "C" externa para declarar antes de la función.

Resolución de problemas de procedimiento

Después de empaquetar MainBegin.py para generar el archivo ejecutable MainBegin, se produce el siguiente error durante la operación:

ImportError: ningún módulo llamado pkgutil

Comente los contenidos de __init__.py bajo la ruta de site-packages / protobuf-2.5.1-py2.7.egg / google y site-packages / protobuf-2.5.1-py2.7.egg / google / protobuf.

 

Otro software relacionado

LibreOffice

Consulte la página web .


yum install libreoffice
yum install libreoffice-headless

 

 

Publicado 10 artículos originales · ganado elogios 0 · Vistas 6267

Supongo que te gusta

Origin blog.csdn.net/u010379248/article/details/80114660
Recomendado
Clasificación