Я новичок в PyDev и Python, хотя много использовал Eclipse для Java. Я пытаюсь проработать некоторые из примеров Dive Into Python, и это кажется чрезвычайно тривиальной проблемой, которая становится чрезвычайно раздражающей. Я использую Ubuntu Linux 10.04.
Я хочу иметь возможность использовать файл odbchelper.py, который находится в каталоге /Desktop/Python_Tutorials/diveintopython/py
Вот мой файл example.py, над которым я работаю в своем проекте PyDev / Eclipse:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Это отлично работает, но тогда я хочу, чтобы следующая строка моего кода была:
import odbchelper
и это каждый раз вызывает неразрешенную ошибку импорта. Я добавил __init__.py
файлы почти в каждый возможный каталог, и это ни к чему не помогает. Я пробовал добавлять __init__.py
файлы по одному на разные уровни каталогов между местоположением проекта и файлом odbchelper.py, а также пытался одновременно добавлять __init__.py
файлы во все каталоги между ними. Ни то, ни другое не работает.
Все, что я хочу сделать, это создать проект где-нибудь в другом каталоге, скажем /Desktop/MyStuff/Project
, в котором у меня есть example.py ... а затем из example.py я хочу импортировать odbchelper.py из/Desktop/Python_Tutorials/diveintopython/py/
В каждом ответе на доске сообщений я могу найти просто предложение использовать sys.path.append()
функцию для добавления этого каталога к моему пути, а затем его импорта ... но это именно то, что я делаю в своем коде, и он не работает.
Я также попробовал Ctrl- 1трюк , чтобы подавить сообщение об ошибке, но программа все еще не функционирует правильно. Я получаю сообщение об ошибке ImportError: No module named odbchelper
. Таким образом, очевидно, что путь не добавляется, или есть какая-то проблема, которую __init__.py
пропустили все мои многочисленные перестановки добавления файлов.
Очень неприятно, что что-то такое простое ... вызов чего-либо из файла, который существует где-то еще на моей машине ... требует таких больших усилий.
grp
модуля. Я просто добавил его вbuiltins
список в Preferences> PyDev> Interpreters> Python> Forced Builtins и по-прежнему получаю автозаполнение для этого модуляОтветы:
В свойствах вашего проекта pydev есть панель под названием «PyDev - PYTHONPATH» с подпанелью «Внешние библиотеки». Вы можете добавить исходные папки (любую папку, у которой есть
__init__.py
) к пути с помощью этой панели. После этого код вашего проекта сможет импортировать модули из этих исходных папок.источник
sys.path
C:\Python27\lib\site-packages
, но на моем компьютере, папка Lib капитализируются:C:\Python27\Lib\site-packages
. Замена строчной записи на верхний регистр, а затем File-> Restart устранила проблему для меня. Надеюсь, это поможет кому-то еще :)Я использую eclipse kepler 4.3, PyDev 3.9.2, и на моем ubuntu 14.04 я столкнулся с той же проблемой. Я пробовал и потратил часы, используя все перечисленные выше варианты, но тщетно. Затем я попробовал следующее, и это было здорово:
И я использовал Python 2.7 в качестве интерпретатора, хотя, я думаю, это не влияет.
источник
Я только что обновил проект WXWindows до Python 2.7, и у меня не было проблем с тем, чтобы Pydev распознал новый интерпретатор. Сделал то же, что и выше, с настройкой интерпретатора, сделал новую установку Eclipse и Pydev. Думал, что какая-то часть python была повреждена, поэтому я снова установил все заново. Ах! Закрыл и снова открыл проект и перезапустил Eclipse между всеми этими изменениями.
НАКОНЕЦ заметил, что вы можете «удалить конфигурацию проекта PyDev», щелкнув правой кнопкой мыши по проекту. Потом его снова можно превратить в проект PyDev, теперь он хорош как золото!
источник
Я исправил свой путь к python, и все было шикарно, когда я импортировал файлы через консоль, но все эти ранее неразрешенные операции импорта по-прежнему помечались как ошибки в моем коде, независимо от того, сколько раз я перезапускал eclipse или обновлял / очищал проект.
Я щелкнул правой кнопкой мыши проект-> Pydev-> Удалить маркеры ошибок, и это избавило от этой проблемы. Не волнуйтесь, если ваш код содержит реальные ошибки, они будут помечены заново.
источник
проект -> свойства -> pydev-pythonpath -> внешние библиотеки -> добавить исходную папку, добавить PARENT FOLDER проекта. Затем перезапустите eclipse.
источник
Вот что сработало для меня (предложено soulBit):
Это самое простое решение, которое полностью избавляет от раздражающего воздействия.
источник
Есть два пути решения этой проблемы:
Теперь я больше не вижу ошибки, и функция автозавершения кода также работает с «бутылкой».
источник
Я запускаю Eclipse 4.2.0 (Juno) и PyDev 2.8.1 и столкнулся с этой проблемой с библиотекой, установленной на моем пути к пакетам сайтов. Согласно этому вопросу SO:
Файлы Pydev и * .pyc
... есть проблема с файлами PyDev и pyc. В случае конкретной библиотеки, на которую я пытался сослаться, все, что доставляется, - это файлы pyc.
Вот что я сделал, чтобы решить эту проблему:
Запустите uncompyle2 для файлов * .pyc в lib site-packages. Пример:
uncompyle2 -r -o / tmp / путь / к / сайт-пакеты / lib
Неразрешенная ошибка импорта, относящаяся к файлам .pyc, теперь должна исчезнуть.
источник
Следующее, на мой взгляд, решит проблему
а. Согласно тому, что предложил Дэвид Герман. Однако это применимо только к конкретным проектам, в которых вы находитесь. B. Добавьте "~ / Desktop / Python_Tutorials / diveintopython / py" в новый PythonPath в разделе Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter -> вложенная вкладка Libraries -> NewFolder
Надеюсь, поможет.
источник
У меня возникли проблемы с импортом дополнительных библиотек, после попытки решить проблему, понимая PYTHONPATH, Interpreter и Grammar, я обнаружил, что все написал, но проблемы продолжаются. После этого я просто добавляю новую пустую строку в файлы с ошибками импорта и сохраняю их, и ошибка устраняется .
источник
ЭТО отлично работает файл для меня
Другой пример
источник