Пожалуйста, рассмотрите возможность разделения имен файлов и кодов. И вам также нужно исправить некоторые отступы.

нь новичок в 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 файлы пропустили.

Очень печально, что что-то такое простое ... вызов вещей из какого-то файла, который существует где-то еще на моей машине ... требует таких больших усилий.

 Cam Jackson18 нояб. 2011 г., 02:51
Убедитесь, что регистр (заглавные буквы) правильный для всех необходимых каталогов в вашей PYTHONPATH.
 user104049508 февр. 2014 г., 20:47
Я знаю, что на этот вопрос уже дан ответ, но я получил нерешенный импорт дляgrp модуль. Я просто добавил его вbuiltins список в Предпочтения> PyDev> Интерпретаторы> Python> Forced Builtins и все еще получить автозаполнение для этого модуля

Ответы на вопрос(10)

KD.py

class A:
a=10;

KD2.py 
from com.jbk.KD import A;
class B:
  b=120;

aa=A();
print(aa.a)

Другой пример

main.py
=======
from com.jbk.scenarios.objectcreation.settings import _init
from com.jbk.scenarios.objectcreation.subfile import stuff

_init();
stuff();

settings.py
==========
def _init():
print("kiran")


subfile.py
==========
def stuff():
print("asasas")    
 dkato26 янв. 2018 г., 05:57
Пожалуйста, рассмотрите возможность разделения имен файлов и кодов. И вам также нужно исправить некоторые отступы.

и столкнулся с этой проблемой, когда на моем пути к пакетам сайта была установлена ​​библиотека lib. Согласно этому такому вопросу:

Файлы Pydev и * .pyc

... есть проблема с файлами PyDev и pyc. В случае конкретной библиотеки, на которую я пытался сослаться, все, что поставляется, это pyc-файлы.

Вот что я сделал, чтобы решить эту проблему:

Установите uncompyle2 изhttps://github.com/Mysterie/uncompyle2

Запустите uncompyle2 для файлов * .pyc в lib сайта-пакетов. Пример:

uncompyle2 -r -o / tmp / path / to / site-packages / lib

Переименуйте получившиеся файлы * .pyc_dis, полученные из uncompyle2, в * .pyПереместите / скопируйте эти * .py файлы в путь к пакетам сайтаВ Eclipse выберите «Файл»> «Перезагрузить»

Неразрешенная ошибка импорта, связанная с файлами .pyc, теперь должна исчезнуть.

Решение Вопроса

THONPATH», с субпанелью под названием «Внешние библиотеки». Вы можете добавить исходные папки (любая папка, которая имеет__init__.py) к пути, используя эту панель. Код вашего проекта сможет импортировать модули из этих исходных папок.

 Velociraptors08 янв. 2011 г., 06:14
Если вы правильно установили свойства pydev, вам не нужно связываться сsys.path
 soulBit11 мая 2011 г., 16:51
Еще один момент, на который следует обратить внимание - возможно, потребуется перезапустить Eclipse, чтобы это работало. Кажется, это работает только через «Файл -> Перезагрузка», а не закрытие и повторное открытие вручную.
 Matt Dodge22 февр. 2012 г., 04:48
@soulBit Хотелось бы, чтобы я прокомментировал этот комментарий 20 раз, я провел хороший час, пытаясь выяснить, почему мой импорт все еще не решен. Спасибо
 Jeff Maass22 апр. 2011 г., 15:25
Для других искателей я хотел бы добавить свой опыт - Windows 7, Python 2.7.1, Eclipse 3.6.2, PyDev, Pyschopg (для Python 2.7 amd64). Установка Psychopg шла в C: \ Python27 \ Lib \ site-packages \ psycopg2 (в рамках установки Python 2.7). Сначала я ссылался на эту папку и все дочерние папки св этом.py, но обнаружил, что мне нужно было сослаться и на папку site_packages. (stackoverflow.com/questions/2983088/unresolved-import-models ) (stackoverflow.com/questions/4631377/... )
 Cam Jackson18 нояб. 2011 г., 02:50
Важная заметка: Я обнаружил, что переводчик Auto Config добавляетC:\Python27\lib\site-packages, но на моем компьютере папка lib пишется с большой буквы:C:\Python27\Lib\site-packages, Замена строчной буквы заглавной и затем File-> Restart устранила проблему для меня. Надеюсь, что это помогает кому-то еще там :)

и все было замечательно, когда я импортировал данные через консоль, но все эти ранее не разрешенные операции импорта все еще отмечались как ошибки в моем коде, независимо от того, сколько раз я перезапускал затмение или обновлял / очищал проект.

Я щелкнул правой кнопкой мыши проект-> Pydev-> Удалить маркеры ошибок, и он избавился от этой проблемы. Не волнуйтесь, если ваш код содержит реальные ошибки, они будут перемаркированы.

 Didierh18 апр. 2018 г., 00:28
Это прекрасно работает, используя liclipse с odoo 10. Спасибо!

и у меня не было никаких проблем с тем, чтобы Pydev узнал новый интерпретатор. Сделал то же самое, что и выше при настройке интерпретатора, сделал новую установку Eclipse и Pydev. Я подумал, что какая-то часть Python была повреждена, поэтому я снова все переустановил. Arghh! Закрыл и заново открыл проект, и перезапустил Eclipse между всеми этими изменениями.

НАКОНЕЦ заметил, что вы можете «удалить конфигурацию проекта PyDev», щелкнув правой кнопкой мыши на проекте. Затем его снова можно превратить в проект PyDev, теперь он хорош как золото!

 Michael Scott07 июн. 2014 г., 01:51
Это сработало! Только что добавил Файл-> Перезагрузка: D
 somnathchakrabarti10 сент. 2017 г., 11:07
Да, закрыл и снова открыл проект, чтобы избавиться от тревожных сообщений ImportError
 Thiago Chaves16 сент. 2011 г., 23:25
Это отлично сработало для меня.
 Lars09 сент. 2013 г., 10:53
не работал для меня

Добавлениев этом.py в вашу папку "~ / Desktop / Python_Tutorials / diveintopython / py"Перейдите в Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter, чтобы удалить настройку Python Interpreter (причина в том, что PyDev не может автоматически обновлять любые обновления, сделанные для любого системного PythonPath)Добавьте Интерпретатор с такими же деталями, как и раньше (это обновит настройку Интерпретатора Python с помощью обновлений, внесенных в PythonPath)Наконец, поскольку ваша папка "~ / Desktop / Python_Tutorials / diveintopython / py" не является стандартным PythonPath, вам нужно будет добавить ее. Есть два способа сделать это

а. Согласно тому, что предложил Дэвид Джерман. Однако это применимо только к конкретным проектам, в которых вы находитесь. B. Добавьте «~ / Desktop / Python_Tutorials / diveintopython / py» в новый PythonPath в разделе «Окно» -> «Настройки» -> «PyDev» -> «Интерпретаторы» -> «Интерпретатор Python» -> вложенная библиотека -> NewFolder

Надеюсь, это поможет.

Удалите интерпретатор Python из «интерпретаторов Python» и добавьте его снова.Или просто добавьте папку с библиотеками в интерпретаторе, который вы используете в вашем проекте, в моем случае я использовал «бутылку», и я добавил папку «c: \ Python33 \ Lib \ site-packages \ bottle-0.11.6». -py3.3.egg»

Теперь я больше не вижу ошибки, и функция завершения кода также работает с «бутылкой».

PyDev 3.9.2 и на моем Ubuntu 14.04 я столкнулся с той же проблемой. Я попытался и провел часы, со всеми вышеупомянутыми большинством вариантов, но тщетно. Затем я попробовал следующее, что было здорово:

Выбратьпроект-> RightClick->PyDev->Удалить проект PyDevфайл->запустить снова

И я использовал Python 2.7 в качестве переводчика, хотя я думаю, что он не работает.

 Noam Manos04 дек. 2015 г., 09:35
Не нужно перезапускать Eclipse, просто закройте и снова откройте файл. Он также работал на Windows с Eclipse Luna, спасибо!
 Fran Marzoa30 мар. 2016 г., 15:11
Это сработало и для меня. Спасибо!
 Vladimir S.17 июн. 2016 г., 11:35
Мне пришлось перезапустить Eclipse два раза, чтобы предупреждения исчезли. Спасибо
 Karthic.K16 сент. 2016 г., 11:44
Это сработало для меня .. быстрое решение ..
 SRK07 февр. 2017 г., 16:02
Спасибо человек .. действительно решение после 2 часов ..

проект -> свойства -> pydev-pythonpath -> внешние библиотеки -> добавить Исходную папку, добавьте ПАРОДКУ РОДИТЕЛЯ проекта. Затем перезапустите затмение.

 Jerther01 мар. 2017 г., 14:58
Не нужно перезагружать, просто закройте и снова откройте файл. Исправил это для меня!
 Simon Hayward09 окт. 2014 г., 11:32
Ну, это было то, что исправило мою проблему.

1) Restart using restart from the file menu
2) Once it started again, manually close and open it.

Это самое простое решение, и оно полностью устраняет раздражающую вещь.

Ваш ответ на вопрос