23. Desarrollando con Odoo (18). Errores inesperados.
1. DistributionNotFound: The 'pdfrw' distribution was not found and is required by the application
Significa que no se encuentra la libraría correspondiente de python (en este caso 'pdfrw'). Para solucionarlo hay que:
1. En __manifest__.py incluir las entradas de la dependencia que falta, pero clasificándola en su grupo. Si es de python o si es de tipo bin
"external_dependencies": {"python": ["pdfrw","unicode"], "bin": ["libreoffice"]},
2. Instalar la dependencia python o de otra clase
Si es de python se instalará en principio de uno de estos dos metodos, dependiendo si python se ejecuta o no en entorno (environment)
# DEPENDENCIAS DE PYTHON
# 1. Sin entorno pip install pdfrw # 2. Con entorno. # Para ello hace falta ver que comando de python ejecuta odoo. # ejecutamos: # ps -ef | grep odoo # obtenemos entre otros: # /usr/bin/python3 /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log # utilizamos /usr/bin/python3 o el que hubiera salido /usr/bin/python3 -m pip install pdfrw
Si Odoo está instalado en docker, se puede correr una shell tal como vimos en la entrada que hablaba de la instalación
#1. Entrar en el contenedor como root y ejecutando un bash de comandos docker exec -it --user root <nombre_contenedor_creado(solo 3 primeras letras)> bash #2. Ejecutar pip install pdfrw o /usr/bin/python3 -m pip install pdfrw
Si no es una dependencia de python, como libreoffice, se hará con
sudo apt install libreoffice
2. Queremos ver el contenido de un campo tipo password en el navegador
Vamos a herramientas para desarrolladores en el navegador y marcamos el icono de settings
Seleccionar:
Use user agent shadow DOM
y ahora se puede ver el contenido
3. VS nos marca error que no encuentra las dependencias de Odoo
En la máquina de desarrollo del VS hay que descargar Odoo y cargar las dependencias tal como se vió en esta entrada.
#1.Cambiamos de directorio (donde está el entorno virutal instalado.
cd ~/MyOdoo/Control-Presencia
#2.Creamos un directorio para Odoo 16 y nos situamos en el
mkdir ~/MyOdoo/odoo-16.0
cd ~/MyOdoo/odoo-16.0
#3.Descargamos Odoo 16 dentro
mkdir ~/MyOdoo/odoo-16.0
git clone https://github.com/odoo/odoo.git -b 16.0 --depth=1
#4.Cambiamos de directorio del entorno
cd ~/MyOdoo/Control-Presencia
#4.Instalamos las dependencias que requiere Odoo
/bin/python -m pip install -r ~/MyOdoo/odoo-16.0/requirements.txt
#5.Instalamos las dependencia Odoo
/bin/python -m pip install -e ~/MyOdoo/odoo-16.0
Comprobamos que hemos seleccionado bien el entorno virtual de Python en VS
Con Shift-Control-P vemos que hemos seleccionado el entorno correcto.
Y elegimos el de nuestro entorno
Una vez elegido el entorno hay que indicarle donde está Odoo. Para seguinos las instrucciones de Angel Adrián Ramirez
File -> Preferences -> Settings
escribe import
selecciona Phyton en la izquierda
Pincha sobre "Edit in settings.json"
Añadir al fichero esta entrada
"python.analysis.extraPaths": ["/home/eduard/MyOdoo/odoo-16.0/"],
Quedando el fichero así:
{ "editor.suggestSelection": "first", "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "explorer.confirmDelete": false, "editor.guides.bracketPairs": true, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "workbench.colorTheme": "Visual Studio Light", "workbench.iconTheme": "material-icon-theme", "workbench.editorAssociations": { "*.jfif": "default" }, "jupyter.interactiveWindow.creationMode": "perFile", "vs-kubernetes": { "vscode-kubernetes.helm-path-linux": "/home/eduard/.local/state/vs-kubernetes/tools/helm/linux-amd64/helm", "vscode-kubernetes.kubectl-path-linux": "/home/eduard/.local/state/vs-kubernetes/tools/kubectl/kubectl", "vscode-kubernetes.minikube-path-linux": "/home/eduard/.local/state/vs-kubernetes/tools/minikube/linux-amd64/minikube" }, "git.enableSmartCommit": true, "git.confirmSync": false, "python.autoComplete.extraPaths": [ ], "python.analysis.extraPaths": [ "/home/eduard/MyOdoo/odoo-16.0/" ], "github.copilot.editor.enableAutoCompletions": true }
Rearrancar VS Code
Comentarios
Publicar un comentario