es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Neovim (nvim) no puede encontrar los módulos locales de Python.

Estoy intentando usar nvim 0.6 como mi IDE y estoy trabajando en un proyecto grande que tiene varios módulos locales (ubicados en el mismo directorio que el script principal de Python, no instalados a través de pip). Cuando uso VSCode, estos módulos se importan sin problemas. Sin embargo, en nvim, obtengo un error de “no se pudo resolver” en cada módulo local. Estoy usando pyenv, pero el problema es idéntico si cambio a cualquier otra versión; establecer Python en el sistema o cualquier otra versión provoca errores para los módulos instalados a través de pip, ya que no están instalados en esos entornos, pero en todos los entornos VSCode carga los módulos locales correctamente y nvim no lo hace. ¿Qué me falta?

Errores con nvim:
aquí

Pero en VSCode, todo se carga bien:
aquí

Ambos están utilizando Python 3.9.5 a través de pyenv como su intérprete. Si abro un intérprete de Python desde la línea de comandos, puedo importar esos módulos y usarlos sin problemas:

“`python

python
Python 3.9.5 (default, Jul 3 2021, 18:40:06)
[Clang 13.0.0 (clang-1300.0.18.6)] en darwin
Escribe “help”, “copyright”, “credits” o “license” para obtener más información.

import weewx
dir(weewx)
[‘CHECK_LOOP’, ‘CMD_ERROR’, ‘CONFIG_ERROR’, ‘CRCError’, ‘CannotCalculate’, ‘DB_ERROR’, ‘END_ARCHIVE_PERIOD’, ‘Event’, ‘HardwareError’, ‘IO_ERROR’, ‘METRIC’, ‘METRICWX’, ‘NEW_ARCHIVE_RECORD’, ‘NEW_LOOP_PACKET’, ‘POST_LOOP’, ‘PRE_LOOP’, ‘RetriesExceeded’, ‘STARTUP’, ‘StopNow’, ‘US’, ‘UnitError’, ‘UnknownAggregation’, ‘UnknownArchiveType’, ‘UnknownBi

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema puede ser que nvim no pueda encontrar los módulos locales porque no se está ejecutando desde el directorio correcto. Asegúrate de ejecutar nvim desde el mismo directorio que contiene los módulos locales. Puedes verificar el directorio de trabajo actual de nvim escribiendo :pwd en el modo de comandos de nvim. Si no es el directorio correcto, navega al directorio correcto usando :cd /ruta/al/directorio/.

    Otro problema podría ser que la ruta de Python no está configurada correctamente en nvim. Puedes verificar tu ruta de Python escribiendo :echo sys.path en el modo de comandos de nvim. Asegúrate de que el directorio que contiene los módulos locales esté en la ruta de Python. Puedes agregarlo agregando lo siguiente a tu .vimrc:

    let s:python_path = '/ruta/al/directorio'
    execute 'python3 import sys; sys.path.append("' . s:python_path . '")'
    

    Sustituye /ruta/al/directorio por la ruta al directorio que contiene los módulos locales.

    También debes verificar que la versión de Python esté configurada correctamente en nvim, escribiendo :python3 import sys; print(sys.version) en el modo de comandos de nvim. Asegúrate de que la versión coincida con la versión que esperas.

    Si ninguna de estas soluciones funciona, puedes intentar usar un complemento como python-mode para ayudar a configurar tu entorno de Python en nvim.

Comments are closed.