я уже пару месяцев начинаю разработку на Python - имею опыт работы с C # и Java.
В настоящее время я работаю над 2 различными приложениями на python / appengine, и, как часто бывает в этих случаях, оба приложения совместно используют общий код - поэтому я хотел бы провести рефакторинг и переместить общий / общий код в общее место.
В Java или C # я просто создаю новый проект библиотеки, перемещаю код в новый проект и добавляю ссылку на библиотеку из основных проектов.
Я попробовал то же самое в Python, но не могу заставить его работать.
Я использую Eclipse с плагином Pydev.
Я создал новый проект Pydev, переместил код и попытался:
- ссылка на проект библиотеки из основных проектов (используя Свойства проекта -> Ссылки на проект)
- добавить папку библиотеки src в основные проекты (в этом случае у меня возникает ошибка - я предполагаю, что невозможно добавить границы проекта при добавлении существующей исходной папки)
- добавить как внешнюю библиотеку (почти так же, как определяются библиотеки Google, используя Свойства -> Внешние библиотеки)
- Импорт в виде ссылки (из «Импорт» -> «Файловая система» и включение «Создать ссылки в рабочей области»)
Во всех случаях я могу ссылаться на код библиотеки во время разработки, но когда я начинаю отладку, сервер разработки appengine выдает исключение, потому что не может найти то, что я переместил в отдельный библиотечный проект.
Конечно, я много искал решение, но похоже, что никто не сталкивался с такой же проблемой - или, может быть, никому не нужно делать то же самое:)
Самое близкое решение, которое мне удалось найти, - это добавить ant-скрипт для архивирования исходников библиотеки и копирования в целевой проект, но таким образом отладка является проблемой, так как я не могу войти в код библиотеки.
Есть предложения?
Излишне говорить, что предлагаемое решение должно учитывать, что код библиотеки должен быть включен в процесс загрузки в appengine ...
Спасибо