Добавление модулей python в pydev в eclipse приводит к ошибке импорта?
У меня проблема с тем, что PyDev на eclipse распознает уже установленные модули. Вот мой подробный подход. Машина представляет собой Mac (Snow Leopard).
В терминале команда
python --version
показывает Python 2.6.6.
import unidecode
и
from unidecode import unidecode
работайте отлично!
Я установил PyDev в Eclipse и пошел на настройку интерпретатора python (Auto Config). Я выбрал все предлагаемые пакеты и нажал Apply и Ok.
Но eclipse продолжает жаловаться
Traceback (most recent call last):
File "/Users/me/Documents/workspace/myproject/python/pythontest.py", line 12, in <module>
from unidecode import unidecode
ImportError: No module named unidecode
Файл python выглядит следующим образом:
#!/usr/bin/env python
# encoding: utf-8
import sys
import os
from unidecode import unidecode
def main():
print unidecode(u"Ågot Aakra")
if __name__ == '__main__':
main()
Когда я удаляю первую строку в script
#!/usr/bin/env python
он приводит к той же ошибке.
Кто-нибудь знает, где проблема?
Ответы
Ответ 1
Это решение моей проблемы:
- Найдите путь к папке
../site-packages/
вашей соответствующей версии python. (Для меня это был /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
для python 2.6 на моем Mac с Snoe Leopard.)
- Откройте настройки eclipse и перейдите к PyDev → Interpreter - Python.
- В левой части нижнего окна нажмите "Новая папка".
- Добавьте переход к
../site-packages/
вашей соответствующей версии python.
- Нажмите "Открыть".
- Нажмите Применить.
- Нажмите "ОК".
И тебе должно быть хорошо идти. =)
Спасибо @all particionsts, которые предоставили подсказки в правильном направлении в комментариях.
Ответ 2
Я столкнулся с той же проблемой только сегодня. Я использую pydev и имею рабочий проект с рядом подпакетов. Внезапно после создания нового модуля я не смог использовать этот модуль в другом пакете. Непонятная особенность заключалась в том, что я мог использовать другой модуль в одном и том же подпакете...
Наконец после
- перезапуск eclipse
- удалить/добавить интерпретатор python и все пакеты сайта
- раздражение головы царапин
Я удалил все скомпилированные классы со следующим script:
import os
def clean_folder(folder):
for file in os.listdir(folder):
path = os.path.join(folder,file)
if os.path.isdir(path):
clean_folder(path)
if '.pyc' == file[-4:]:
print 'deleting: ' + str(path)
os.remove(path)
if __name__ == '__main__':
folder = 'YOUR_PROJECT_SRC_PATH'
clean_folder(folder)
и, наконец, я могу сделать "актуальную" работу:)
Надеюсь, это поможет кому-то...
Ответ 3
Когда Eclipse получает "потерянный" в отношении того, какие пакеты существуют в вашей системе или в вашем проекте, из контекстного меню вашего проекта выберите пункт меню "Свойства", затем элемент "PyDev - PYTHONPATH" в древовидной структуре на в левой части диалогового окна, затем кнопку "Восстановить внутреннюю информацию". По-видимому, PyDev хранит вычисленный кэш информации, и когда по какой-либо причине кеш становится некогерентным, вы можете заставить PyDev перепроверить.
Ответ 4
Вы можете просто добавить модуль в путь pydev. Перейдите к свойствам проекта (из контекстного меню) → PyDev → PYTHONPATH → Внешние библиотеки. В зависимости от того, находится ли модуль в исходной папке или файле zip/egg, выберите Добавить папку источника или Добавить zip/jar/egg. Перейдите в каталог сайтов-пакетов и укажите соответствующий файл или папку (мой:/usr/local/lib/pythonx.x/site-packages)
Ответ 5
В моем случае я не получал эту ошибку перед компиляцией, но когда компилирую, я получил сообщение об ошибке ImportError: Нет модуля с именем myant.core. Я попытался добавить файлы из PyDev-PYTHONPATH, но снова получил ту же ошибку. Затем я понял, что мне действительно не нужно добавлять путь именно к папке, где находятся мои .py файлы. Infact Мне нужно добавить папку, в которой находится myant.core. После этого я перезагрузился, когда снова перекомпилировал свой проект, проблема была исправлена. Я бы сказал, что у меня есть:
Python 2.7 Eclipse kepler 4.3, PyDev 3.9.2 и на моем ubuntu 14.04
.py расположение файлов: /${PROJECT_DIR_NAME}/src/myant/core
, поэтому я добавил /${PROJECT_DIR_NAME}/src
Ответ 6
Попробуйте настройки > pydev > interpreter - python и удалите и повторно добавьте интерпретатор python (убедитесь, что знаете путь к нему перед его удалением), когда вы повторно добавляете его, отметьте все поля.
Ответ 7
@Aufwind ваш ответ выше помог, но не решил для меня.
- Найдите путь к папке.. /site -packages/....
- Откройте настройки eclipse и перейдите к PyDev → Interpreter - Python.
- В левой части нижнего окна нажмите "Новая папка".
--- > здесь я отошел от ваших указаний. Я добавил яйцо для модуля, который не был распознан. Добавление папки сайтов-сайтов не исправило.
- Нажмите "Открыть".
- Нажмите Применить.
- Нажмите "ОК".
И тогда мне было хорошо идти. =)
Ответ 8
- Откройте окно затмения → настройки и перейдите к PyDev → Interpreter.
- нажмите "Проверить, синхронизированы ли интерпретаторы с окружающей средой".
Это сделало это для меня. Не требуется перезапуск Eclipse.
Ответ 9
Я исправил эту проблему, перейдя к свойствам проекта → PyDev Django
и установка модуля настроек Django. ![введите описание изображения здесь]()
Ответ 10
Предположим, что ваш вечный модуль находится в /.
Запустите Eclipse и перейдите к опции проекта. Выберите "PyDev-PYTHONPATH"
и справа вы увидите окно с вкладками. Выберите Внешние библиотеки.
Нажмите "Добавить исходную папку" и выберите свою библиотеку по указанному выше пути.