Как мне справиться с UnresolvedImport Eclipse (Python) - PullRequest
11 голосов
/ 16 марта 2010

Когда я пишу import MySQLdb в Eclipse с помощью плагина PyDev, я получаю неразрешенный импорт. Однако программа работает без ошибок. Я могу добавить аннотацию, чтобы ошибка исчезла, но как правильно это исправить?

Как я могу помочь Eclipse узнать, что MySQLdb существует?

Ответы [ 8 ]

10 голосов
/ 19 октября 2012

выше приведено объяснение двухлетней давности, но это может быть проще. По сути, один переустанавливает переводчик.

  1. Выберите Окно -> Настройки -> PyDev -> Интерпретатор - Python
  2. Выберите интерпретатор python на верхней панели
  3. Нажмите Удалить
  4. Нажмите на автоконфигурацию
  5. Согласен на все.

Это работает в Fedora 17 с использованием Eclipse 4.2.0, поставляемого с управлением пакетами.

10 голосов
/ 16 марта 2010

Звучит так, как будто MySQLdb находится где-то на вашем sys.path, но не на вашем проекте Eclipse PYTHONPATH; другими словами, Eclipse думает, что вы получите ошибку импорта во время выполнения, потому что вы не полностью ее настроили. Кажется, Google говорит, что вы можете изменить этот параметр в Window->Preferences->Preferences->PyDev->Python Interpreter, чтобы включить путь к вашему MySQLdb модулю.

Для некоторой помощи выясните, где MySQLdb может жить в вашей системе:

  1. Открыть интерактивный переводчик,
  2. import MySQLdb
  3. Если это удастся, вы можете получить подсказку от: print MySQLdb.__file__; это может быть файл __init__ в пакете, на который вам нужно указать путь.
6 голосов
/ 08 июня 2010

Исправлено, сделав две вещи:

1) Добавлен MySQLdb egg в PYTHONPATH в Window-> Preferences-> Preferences-> PyDev-> Python Interpreter.

C:\Python26\Lib\site-packages\MySQL_python-1.2.3c1-py2.6-win32.egg

2) Закройте и снова откройте файл .py с красным крестиком.

2 голосов
/ 08 августа 2010

Добавление яйца работает, но ошибка остается. Решение этой ошибки можно найти, добавив

#@UnresolvedImport

К оператору импорта, как в:

import web #@UnresolvedImport

Источник: http://klaith.wordpress.com/2009/06/12/pydev-unresolved-import-errors/

0 голосов
/ 04 декабря 2015
import MySQLdb

Если этот код показывает ошибку, подобную этой:

Неразрешенный импорт: MySQLdb

вы должны добавить D:\Python27\Lib\site-packages\MySQLdb к вашему sys.path.

D:\Python27\Lib\site-packages\MySQLdb - это место, куда вы устанавливаете MySQLdb на диск вашего компьютера. После этого шага ошибка исчезнет.

0 голосов
/ 27 августа 2014

У меня была похожая проблема, и вот что я сделал, чтобы решить свою проблему. У меня установлена ​​машина с Windows 8, Python 2.7, и я запускаю свои вещи через eclipse.

Немного фона:

Когда я сделал easy install, он пытается установить MySQL-python 1.2.5, что не удалось с error: Unable to find vcvarsall.bat. Я выполнил easy_install из pip и попытался установить pip, который также не удался с похожей ошибкой. Они оба ссылаются на vcvarsall.bat, что как-то связано с visual studio, так как у меня нет Visual Studio на моей машине, это заставило меня искать другое решение, которым я поделюсь ниже.

Решение:

  1. Переустановите python 2.7.8 из 2.7.8 из https://www.python.org/download, чтобы добавить недостающие параметры реестра, которые потребуются при следующей установке.
  2. Установить 1.2.4 из http://pypi.python.org/pypi/MySQL-python/1.2.4

После того, как я сделал обе эти установки, я снова открыл eclipse и получил приглашение обновить пути eclipse, которые я принял, после этого я смог запросить свою базу данных MySQL.

0 голосов
/ 01 декабря 2010

Это, безусловно, работает, я только что попробовал это с пакетом Pmw. Распакуйте пакет в сайт-пакеты. Затем удалите интерпретатор Python из Eclipse и добавьте его снова. Ваши ошибки импорта исчезнут. Также вы можете захотеть добавить модуль к принудительным встроенным функциям. См. Как исправить ошибки PyDev «Неопределенная переменная из импорта»? и http://pydev.org/manual_101_interpreter.html

0 голосов
/ 17 марта 2010

Однажды у меня была похожая проблема в Windows (хотя никогда не встречалась с этим в Linux), и я обнаружил, что мне нужно включить каталог .egg моей библиотеки в мою PYTHONPATH.

Например, мой PYTHONPATH (Pydev / Interpreter - Python / Libraries) включает:

C:\Python26\Lib\site-packages

и мне пришлось добавить:

C:\Python26\Lib\site-packages\jinja2-2.2.1-py2.6.egg

для использования дзиндзя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...