Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

914
Visualizações
Error de "importación no resuelta" de Pylint en Visual Studio Code

Estoy usando la siguiente configuración

  • macOS v10.14 (Mojave)
  • Pitón 3.7.1
  • Código de estudio visual 1.30
  • Pylint 2.2.2
  • Django 2.1.4

Quiero usar linting para hacer mi vida un poco más fácil en Visual Studio Code. Sin embargo, para cada importación tengo estados "importación no resuelta". Incluso en las importaciones predeterminadas de Django (es decir, desde los modelos de importación django.db).

Supongo que es porque no está viendo los archivos Python del entorno virtual.

Todo funciona bien, pero está empezando a ser molesto.

Las opciones de intérprete que tengo son todas las versiones del sistema de Python. No parece ver mi entorno virtual Python en absoluto (no está en el mismo directorio que mi espacio de trabajo, por lo que esa parte tiene sentido).

Si configuro python.PythonPath en el archivo settings.json , simplemente lo ignora y no muestra la ruta de mi entorno virtual como una opción. También intenté configurarlo en mi configuración global de Python, pero tampoco aparece.

¿Hay una solución rápida para que funcione?

over 4 years ago · Santiago Trujillo
30 Respostas
Responde à pergunta

0

En la configuración de su espacio de trabajo, puede configurar su ruta de Python de esta manera:

 { "python.defaultInterpreterPath": "/path/to/your/venv/bin/python", }
over 4 years ago · Santiago Trujillo Relatório

0

Si tiene este código en su archivo settings.json , elimínelo:

 { "python.jediEnabled": false }
over 4 years ago · Santiago Trujillo Relatório

0

Este problema ya se ha abierto en GitHub:

Problema de importación de Python no resuelto #3840

Hay dos respuestas muy útiles, de MagnuesBrzenk y SpenHouet.

La mejor solución por ahora es crear un archivo .env en la carpeta raíz de su proyecto. Luego agregue un PYTHONPATH así:

 PYTHONPATH=YOUR/MODULES/PATH

Y en su settings.json agregue:

 "python.envFile": ".env"
over 4 years ago · Santiago Trujillo Relatório

0

Tengo una solución diferente: mi instancia de Visual Studio Code había recogido el virtualenv almacenado en .venv , pero estaba usando el binario de Python incorrecto. Estaba usando .venv/bin/python3.7 ; usando el conmutador en la barra de estado azul.

Lo cambié para usar .venv/bin/python y todas mis importaciones se resolvieron correctamente.

No sé qué está haciendo Visual Studio Code detrás de escena cuando hago esto, ni entiendo por qué esto estaba causando mi problema, pero para mí esta fue una solución un poco más simple que editar la configuración de mi espacio de trabajo.

over 4 years ago · Santiago Trujillo Relatório

0

Cuando lo hago > reload window que lo arregla.

Referencia: Problema de importación no resuelto de Python #3840, comentario de dkavraal

over 4 years ago · Santiago Trujillo Relatório

0

Forma alternativa: ¡usa la interfaz de comandos!

Cmd / Ctrl + Shift + P → Python: Select Interpreter → elige el que tiene los paquetes que buscas:

Ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta aceptada no solucionará el error al importar módulos propios.

Use la siguiente configuración en la configuración de su espacio de trabajo .vscode/settings.json :

 "python.autoComplete.extraPaths": ["./path-to-your-code"],

Referencia: solución de problemas, advertencias de importación no resueltas

over 4 years ago · Santiago Trujillo Relatório

0

Ninguna de las respuestas anteriores funcionó para mí. Sin embargo, agregué las dos líneas a continuación a mi archivo settings.json .

 "python.analysis.disabled": [ "unresolved-import" ], "python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"]

La primera línea realmente solo oculta el error de pelusa. Ciertamente no es una solución permanente, pero despeja la pantalla.

Esta respuesta me dio la segunda línea: VS Code PyLint Error E0602 (variable indefinida) con estructura de Python compilada por ProtoBuf

Tal vez alguien que entienda Python más que yo pueda explicarlo mejor.

over 4 years ago · Santiago Trujillo Relatório

0

En caso de un error de Pylint, instale lo siguiente

 pipenv install pylint-django

Luego cree un archivo, .pylintrc , en la carpeta raíz y escriba lo siguiente

 load-plugins=pylint-django
over 4 years ago · Santiago Trujillo Relatório

0

Esto funciona para mí:

Abra la paleta de comandos ( Ctrl + Shift + P ) y elija "Python: Seleccionar intérprete".

Al hacer esto, configura el intérprete de Python en Visual Studio Code.

over 4 years ago · Santiago Trujillo Relatório

0

Mi solución

Esta solución es solo para el proyecto actual.

  1. En la raíz del proyecto, cree la carpeta .vscode

  2. Luego crea el archivo .vscode/settings.json

  3. En el archivo setting.json , agregue la línea (esto es para Python 3)

     { "python.pythonPath": "/usr/local/bin/python3", }
  4. Este es el ejemplo para Python 2

     { "python.pythonPath": "/usr/local/bin/python", }
  5. Si no sabe dónde se encuentra su instalación de Python, simplemente ejecute el comando what which python o which python3 en la terminal. Imprimirá la ubicación de Python.

  6. Este ejemplo funciona para Python dockerizado - Django.

over 4 years ago · Santiago Trujillo Relatório

0

Resolví el error de importación con Ctrl + Shift + P. Escriba "Configuración de preferencias" y seleccione la opción Preferencias Abrir configuración (JSON)

Y agregue la línea "python.pythonPath": "/usr/bin/"

Entonces, el contenido JSON debería verse así:

 { "python.pythonPath": "/usr/bin/" }

Mantenga otras líneas de configuración si están presentes. Esto debería importar todos los módulos que ha instalado usando PIP para autocompletar.

over 4 years ago · Santiago Trujillo Relatório

0

La solución de Shinebayar G funcionó, pero esta otra es un poco más elegante:

Copiado del problema de importación no resuelto de Python #3840 :

Dada la siguiente estructura de proyecto de ejemplo:

  • espacio de trabajoRootFolder
    • .vscode
  • ... otras carpetas
  • carpeta de código

Lo que hice para resolver este problema:

  1. Vaya a la carpeta del espacio de trabajo (aquí workspaceRootFolder) y cree un archivo .env
  2. En este archivo .env vacío, agregue la línea PYTHONPATH=codeFolder (reemplace codeFolder con el nombre de su carpeta)
  3. Agregue "python.envFile": "${workspaceFolder}/.env" a settings.json
  4. Reinicie el código de Visual Studio
over 4 years ago · Santiago Trujillo Relatório

0

Mi solución fue abrir Visual Studio Code en un directorio anterior.

over 4 years ago · Santiago Trujillo Relatório

0

Pude resolver esto habilitando jedi en .vscode\settings.json

 "python.jediEnabled": true

Referencia de https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675

over 4 years ago · Santiago Trujillo Relatório

0

En mi caso, ya tenía un entorno Conda activado, pero aún quería que los módulos locales de Python estuvieran disponibles para autocompletar, mirar definición, etc.

Probé muchas soluciones, como agregar una lista de rutas de Python, etc., pero lo que finalmente me resolvió fue crear un enlace simbólico desde lib/python{your version}/site-packages de Conda a mi módulo local.

over 4 years ago · Santiago Trujillo Relatório

0

Si eres más visual como yo, puedes usar las configuraciones de Visual Studio Code en el menú Archivo → Preferencias → Configuración ( Ctrl + , ). Vaya a Extensiones → Python .

En la sección Análisis: Deshabilitado , agregue la supresión del siguiente mensaje: unresolved-import :

Configuración de código de Visual Studio

over 4 years ago · Santiago Trujillo Relatório

0

Para mí, el problema estaba relacionado con el proyecto en el que estaba trabajando. Me tomó un tiempo resolverlo, así que espero que esto ayude:

Estructura de la carpeta original:

 root/ __init__.py # Empty folder/ __init__.py # Empty sub_folder_b/ my_code.py sub_folder_c/ another_code.py

En otro_código.py:

 from folder.sub_folder_b import my_code.py

Esto no activó el intellisense en Visual Studio Code, pero se ejecutó correctamente.

Por otro lado, agregar "raíz" en la ruta de importación hizo que Intellisense funcionara, pero generó ModuleNotFoundError al ejecutar:

 from root.folder.sub_folder_b import my_code.py

La solución fue eliminar el archivo _init_.py dentro del directorio "carpeta", dejando solo el _init_.py ubicado en /root .

over 4 years ago · Santiago Trujillo Relatório

0

Debe seleccionar el intérprete asociado con el entorno virtual.

Ingrese la descripción de la imagen aquí

Haga clic aquí (en la barra de estado inferior):

Ingrese la descripción de la imagen aquí

Y simplemente seleccione el entorno virtual con el que está trabajando. Hecho.

A veces, incluso con el intérprete seleccionado, no funcionará. Simplemente repita el proceso nuevamente y debería resolverlo.

Ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

Tengo una biblioteca que falla cuando intento incluirla usando el servicio de lenguaje Jedi y funciona bien sin ella (es decir, la de C#).

La biblioteca es jsonslicer y depende de una biblioteca C externa que instalé en /usr/local/lib . ¿Puede eso tener algo que ver?

Instalé el servicio Jedi y la biblioteca en mi entorno Conda y usé ese entorno dentro de Visual Studio. Funciona bien en tiempo de ejecución y en mi terminal, pero no cuando busco problemas en mis archivos fuente y aparece como un error.

over 4 years ago · Santiago Trujillo Relatório

0

Primero, asegúrese de haber instalado el complemento, pero es probable que el directorio del espacio de trabajo no esté configurado correctamente. Simplemente verifique Pylint y edite el archivo settings.json subyacente.

 { "python.pythonPath": "/usr/local/bin/python3", "git.ignoreLimitWarning": true }
over 4 years ago · Santiago Trujillo Relatório

0

Instale code-runner y agregue el siguiente código en la carpeta settings.json:

 "code-runner.executorMap": { "python": "python3 -u", }

"python": "(el ejecutable de Python con módulos o su ruta) -u",

over 4 years ago · Santiago Trujillo Relatório

0

Eso sucede porque Visual Studio Code considera su carpeta actual como la carpeta principal, en lugar de considerar la carpeta principal real.

La forma rápida de solucionarlo es proporcionar la ruta del intérprete a la carpeta principal.

Presione Comando + Shift + P (o Ctrl + Shift + P en la mayoría de los demás sistemas).

Escriba el intérprete de Python

Seleccione la ruta donde instaló Python entre las opciones disponibles.

over 4 years ago · Santiago Trujillo Relatório

0

Me he enfrentado a este problema de tres maneras. Aunque para cada uno de ellos hay una solución disponible en las respuestas a esta pregunta, solo pensé en ponerlo todo junto.

  1. Primero obtuve una "Importación no resuelta" mientras importaba algunos módulos y noté que mis instalaciones estaban ocurriendo en pip global en lugar del entorno virtual.

    Este problema se debió al intérprete de Python. Debe seleccionar el intérprete en Visual Studio Code usando Shift + Ctrl + P y luego escribir Select Python Interpreter . Seleccione su intérprete venv aquí.

  2. El segundo problema fue: El cambio anterior no resolvió mi problema por completo. Esta vez fue por el archivo settings.json . Si no tiene el archivo settings.json en el directorio de su proyecto, cree uno y agregue la siguiente línea:

     { "python.pythonPath": "apis/bin/python" }

    Básicamente, esto le indicará a Visual Studio Code que use el intérprete de Python que está en su venv.

  3. El tercer problema fue al importar un módulo o archivo de Python personalizado en otro programa. Para ello, debe comprender la estructura de carpetas. Como Python en venv está dentro de bin, deberá especificar la carpeta de su módulo (la mayoría de las veces la carpeta de la aplicación). En mi caso fue la app ,

     from app.models import setup_db

    Verbalmente, importe setup_db desde models.py reside en la carpeta de la aplicación .

over 4 years ago · Santiago Trujillo Relatório

0

Me pregunto cuántas soluciones tiene este problema (o no), probé la mayoría de las anteriores, nada funcionó, la única solución que funcionó es configurar el servidor de lenguaje python en Jedi, en lugar de Microsoft en el archivo settings.json:

 "python.languageServer": "Jedi"
over 4 years ago · Santiago Trujillo Relatório

0

Si está utilizando pipenv , debe especificar la ruta a su archivo virtual environment.in settings.json . Por ejemplo :

 { "python.pythonPath": "/Users/username/.local/share/virtualenvs/Your-Virual-Env/bin/python" }

Esto puede ayudar.

over 4 years ago · Santiago Trujillo Relatório

0

Ninguna de las soluciones funcionó excepto esta. Reemplazar "Pylance" o "Microsoft" en settings.json resolvió el mío.

 "python.languageServer": "Jedi"
over 4 years ago · Santiago Trujillo Relatório

0

Tengo el mismo problema con python 3.8.5 usando venv, vscode 1.48.2. Encontré mi solución. En (carpeta env)/lib/site-packages no contiene los paquetes. Yo uso esta configuración (.vscode/settings.json)

 { "python.autoComplete.extraPaths": [ "./**", ], "python.pythonPath": "env\\Scripts\\python.exe", "python.languageServer": "Microsoft" }
over 4 years ago · Santiago Trujillo Relatório

0

Cambiar Python:Language Server a 'Jedi' funcionó para mí. Inicialmente era 'Windows'.

over 4 years ago · Santiago Trujillo Relatório

0

Si alguien es tan idiota como yo, lo siguiente funcionó.

Estructura de carpetas anterior:

 awesome_code.py __init__.py src/ __init__.py stuff1.py stuff2.py

Nueva estructura:

 awesome_code.py src/ __init__.py stuff1.py stuff2.py
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda