• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

1.2K
Views
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?

almost 4 years ago · Santiago Trujillo
37 answers
Answer question

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.

almost 4 years ago · Santiago Trujillo Report

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í

almost 4 years ago · Santiago Trujillo Report

0

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

almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

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
almost 4 years ago · Santiago Trujillo Report

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

almost 4 years ago · Santiago Trujillo Report

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 .

almost 4 years ago · Santiago Trujillo Report

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í

almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

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", }
almost 4 years ago · Santiago Trujillo Report

0

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

 { "python.jediEnabled": false }
almost 4 years ago · Santiago Trujillo Report

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"
almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

0

Cuando lo hago > reload window que lo arregla.

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

almost 4 years ago · Santiago Trujillo Report

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

almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

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
almost 4 years ago · Santiago Trujillo Report

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

almost 4 years ago · Santiago Trujillo Report

0

Estoy usando la siguiente configuración: (en abril de 2021)

  • macos gran sur
  • vscode
  • Anaconda 3 (para el medio ambiente)

Y me enfrenté a este error durante el inicio de Django. Entonces, sigo estos pasos y este error se resuelve.

Los pasos se dan en estas capturas de pantalla:

  1. Configuración abierta (área de trabajo)

  2. Siga esta captura de pantalla para abrir Python Path Siga esto para el Paso 2

  3. Ahora, haga clic Edit in settings.json

  4. Haga una ruta como la que se muestra en esta captura de pantalla /opt/anaconda3/bin/python ingrese la descripción de la imagen aquí

5. Ahora, guarde este archivo settings.json. 6. Reinicie el vscode

Además, es posible que intellisense no funcione durante algún tiempo, espere un momento y luego reinicie nuevamente, luego vscode lee el archivo para la nueva ruta.

almost 4 years ago · Santiago Trujillo Report

0

Ninguna de las respuestas aquí resolvió este error para mí. El código se ejecutaría, pero no podía saltar directamente a las definiciones de funciones. Era solo para ciertos paquetes locales. Por un lado, python.jediEnabled ya no es una opción válida. Hice dos cosas, pero no estoy seguro de que la primera fuera necesaria:

  1. Descargue la extensión Pylance, cambie python.languageServer a "Pylance"
  2. Agregue "python.analysis.extraPaths": [ "path_to/src_file" ]

Aparentemente, la raíz y el src se verificarán en busca de paquetes locales, pero se deben agregar otros aquí.

almost 4 years ago · Santiago Trujillo Report

0

Conda medio ambiente

error de pylint: "No se puede importar 'django.X'"

Después de activar el intérprete de Python deseado en su entorno de conda, VS Code a veces continuará usando pylint desde el entorno de conda predeterminado. Por ejemplo:

/home/<nombre de usuario>/anaconda3/bin/pylint

1. Instale pylint en su entorno conda de destino

 $ conda activate <target environment> $ conda install pylint

2. Actualizar la configuración del código VS

  • En la configuración de VS Code, busque "ruta de pylint"
  • Haga clic en la pestaña Área de trabajo (en lugar del usuario predeterminado)
  • En "Extensiones (##)", haga clic en "Python (#)"
  • Desplácese hacia abajo hasta Python > Linting: Pylint Path
  • Ingrese la ruta de pylint que apunta a la copia de pylint que se acaba de instalar, por ejemplo:

/home/<nombre de usuario>/anaconda3/envs/<entorno de destino>/bin/pylint

Reemplace <username> y <target environment> según la configuración de su sistema.

Ahora pylint encontrará las bibliotecas instaladas, incluido Django, suponiendo que Django se haya instalado en <entorno de destino>.

3. Instale el complemento Django pylint

 $ conda install pylint-django

Actualice la configuración del código VS para usar el complemento:

  • Busque la configuración de VS Code para "pylint args"
  • En Python > Linting: Pylint Args , haga clic en "Agregar elemento"
  • Introduzca: --load-plugins=pylint_django
  • Haga clic en Aceptar"
  • Haga clic en "Agregar elemento"
  • Introduzca: --django-settings-module=<PROJECT FOLDER>.settings
    • Reemplace <PROJECT FOLDER> con la carpeta que contiene el archivo de configuración de Django "settings.py".
  • Haga clic en Aceptar"
  • Reiniciar código VS
almost 4 years ago · Santiago Trujillo Report

0

Tuve el problema de que no se encontró la importación de módulos que creé. Sentí que probé varios métodos para asegurarme de que la selección del intérprete de Python fuera correcta, pero fue en vano. Encontré una respuesta que me funcionó editando settings.json Python>Linting>Pylint Args y agregando el init-hook...

 --init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc()))"

Esta solución se encontró en el error "No se puede importar" de PyLint: ¿cómo configurar PYTHONPATH? . No creé ni edité pylintrc, pero agregué lo anterior usando la GUI de VS Code.

almost 4 years ago · Santiago Trujillo Report

0

Parece que tuve este problema porque django estaba instalado en mi entorno virtual base, y no en el que realmente estaba usando para el proyecto. Básicamente, esto hizo que funcionara, pero mostrara errores y no se autocompletara correctamente.

Para arreglarlo simplemente

  1. Navegador Anaconda abierto
  2. Haga clic en Entornos en el menú de la izquierda
  3. Seleccione el entorno virtual que está utilizando para el proyecto
  4. En el entorno virtual, haga clic en el triángulo verde (una vez que se cargue) y seleccione 'Abrir terminal'
  5. Ejecute 'pip install django'

Una vez hecho esto, puede volver a VS Code y cambiar el entorno de python a la base, luego volver al que desee en la parte inferior izquierda de VS Code.

Los errores deberían desaparecer y la función de autocompletar debería funcionar.

almost 4 years ago · Santiago Trujillo Report

0

Bien, 2 años después me encontré con este molesto problema. Todo lo que puedo ver aquí son algunas soluciones realmente complicadas. Aquí hay pasos fáciles de seguir para cualquier otra persona que pueda encontrarse con esto más adelante:

  • en la parte inferior de VS Code donde ve la versión de Python en la lista, simplemente haga clic allí
  • Aparecerá la ventana Seleccionar intérprete
  • haga clic en la primera opción que dice " Seleccionar ruta del intérprete " y navegue hasta la ruta de la carpeta que tiene su entorno virtual

Eso es todo lo que necesita hacer y evitar modificar esas configuraciones en VS Code, que pueden volverse muy complicadas si no se manejan con precaución.

almost 4 years ago · Santiago Trujillo Report

0

si importa un módulo en un subdirectorio, agregue la siguiente configuración en .vscode/settings.json:

 "python.analysis.extraPaths": [ "./directory_name" ]
almost 4 years ago · Santiago Trujillo Report

0

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

 "python.languageServer": "Jedi"
almost 4 years ago · Santiago Trujillo Report

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" }
almost 4 years ago · Santiago Trujillo Report

0

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

almost 4 years ago · Santiago Trujillo Report

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 .

almost 4 years ago · Santiago Trujillo Report

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"
almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

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 }
almost 4 years ago · Santiago Trujillo Report

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",

almost 4 years ago · Santiago Trujillo Report

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.

almost 4 years ago · Santiago Trujillo Report

0

How to avoid warning

Tenga en cuenta que esto solo se salta la advertencia y no la resuelve. En primer lugar, abra la configuración del código de Visual Studio en json y agregue los siguientes argumentos después de "[python]":{}

 "python.linting.pylintArgs": ["--rep[![ingrese la descripción de la imagen aquí][1]][1]orts", "12", "--disable", "I0011"],
"python.linting.flake8Args": ["--ignore=E24,W504", "--verbose"]
"python.linting.pydocstyleArgs": ["--ignorar=D400", "--ignorar=D4"]

Esto me ha ayudado a evitar las advertencias de pylint en VSCode.

ingrese la descripción de la imagen aquí

almost 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!