2011-09-07 11 views
5

to kilka miesięcy, od których zacząłem programowanie w języku Python - mając własne środowisko C# i Java.Odwoływanie się do biblioteki zewnętrznej w projekcie Python appengine przy użyciu Pydev/Eclipse

Aktualnie pracuję nad 2 różnymi aplikacjami python/appengine i jak to często bywa w tych przypadkach, obie aplikacje dzielą wspólny kod - tak chciałbym zmienić i przenieść wspólny/ogólny kod do wspólnego miejsca.

W języku Java lub C# wystarczy utworzyć nowy projekt biblioteki, przenieść kod do nowego projektu i dodać odniesienie do biblioteki z głównych projektów.

Próbowałem tego samego w Pythonie, ale nie mogę go uruchomić.

Używam Eclipse z wtyczką Pydev.

I utworzeniu nowego projektu PyDev, przeniósł kod i próbował:

  • odniesienie do projektu bibliotekę z głównych projektów (z wykorzystaniem właściwości projektu -> Referencje projektu)
  • dodać bibliotekę folder folderów src do głównych projektów (w tym przypadku wystąpił błąd - domyślam się, że nie można opuścić granic projektu po dodaniu istniejącego folderu źródłowego)
  • dodaj jako bibliotekę zewnętrzną (prawie tak samo, jak zdefiniowano biblioteki google , używając Właściwości -> Zewnętrzne biblioteki)
  • Importuj jako odnośnik (z importu -> System plików i umożliwiając „Tworzenie łącza w obszarze roboczym”)

We wszystkich przypadkach jestem w stanie odwołać się do kodu biblioteki przy opracowywaniu, ale kiedy rozpocząć debugowanie, rozwój interfejsu App Engine serwer zgłasza wyjątek, ponieważ nie może znaleźć tego, co przeniosłem do oddzielnego projektu bibliotecznego.

Oczywiście Szukałem rozwiązania dużo, ale wygląda na to nikt nie doświadczył ten sam problem - czy może nikt nie musi robić to samo :)

Najbliższy roztwór I już udało mi się znaleźć jest dodanie skryptu mrówki do zip źródeł biblioteki i kopiowania w projekcie docelowym - ale w ten sposób debugowanie jest bolesne, ponieważ nie mogę wkroczyć do kodu biblioteki.

Jakieś sugestie?

trzeba dodawać, że proponowane rozwiązanie musi wziąć pod uwagę, że kod biblioteki musi być włączone w proces wysyłania do AppEngine ...

Dzięki

Odpowiedz

4

dev_appserver i środowisko produkcyjne nie mieć dowolną koncepcję projektów lub bibliotek, więc musisz tak skonfigurować swoją aplikację, aby wszystkie niezbędne biblioteki znajdowały się w katalogu głównym aplikacji. Najłatwiejszym sposobem, aby to zrobić, jest zazwyczaj dowiązanie ich jako podkatalogów lub, w najgorszym przypadku, ich skopiowanie (lub użycie kontrolki wersji, sprawienie, by stały się one sub-repozytoriami).

Sposób mapowania operacji w IDE zależy od IDE, ale ogólnie najprawdopodobniej najłatwiej jest uzyskać strukturę aplikacji, która jest potrzebna na dysku, i pracować wstecz, aby skonfigurować IDE, tak jak lubisz to.

+0

Dzięki Nick - skorzystałeś z porady przenosząc kod do folderu src, a następnie dodając do osobnego repozytorium svn. Teraz muszę go zaimportować do innego projektu i powinienem być w porządku. – Antonio

Powiązane problemy