2011-09-07 71 views
5

這是幾個月的時間我開始使用Python進行開發 - 擁有自己的C#和Java背景。使用Pydev/Eclipse引用外部庫在Python appengine項目中使用Pydev/Eclipse

我目前正在研究2個不同的python/appengine應用程序,並且經常發生這些情況,兩個應用程序共享公共代碼 - 所以我想重構並將公共/通用代碼移動到共享位置。

在Java或C#中,我只是創建一個新的庫項目,將代碼移動到新項目中,並從主項目中添加對庫的引用。

我在Python中嘗試過,但我無法使它工作。

我使用Eclipse與Pydev插件。

我已經創建了一個新的項目Pydev的,移動的代碼,並試圖:

  • 從主項目(使用項目屬性 - >項目引用)引用庫項目
  • 添加庫src文件夾文件夾插入到主項目中(在這種情況下,我有一個錯誤 - 我認爲在添加現有源文件夾時無法離開項目邊界)
  • 添加爲外部庫(幾乎與谷歌庫定義相同,使用屬性 - >外部庫)
  • 導入爲鏈路(從導入 - >文件系統並啓用「創建工作空間鏈接」)

在我能夠引用該庫的代碼在開發所有的情況,但是當我開始調試,AppEngine開發服務器拋出一個異常,因爲它找不到我已經移動到一個單獨的庫項目。

當然我搜索的解決方案很多,但它看起來像沒有人經歷了同樣的問題 - 或許沒人並不需要做同樣的:)

最接近的解決方案,我已經能夠找到的是添加一個ant腳本來壓縮庫源文件並複製到目標項目中 - 但這種調試方式很麻煩,因爲我無法進入庫代碼。

有什麼建議嗎?

不用說,所提出的解決方案必須考慮到,庫代碼必須包括在上傳過程中的AppEngine帳戶...

感謝

回答

4

的dev_appserver和生產環境不有任何項目或庫的概念,所以你需要構建你的應用程序,以便所有必要的庫都在應用程序的根目錄下。通常,最簡單的方法是將它們作爲子目錄進行符號鏈接,或者最壞的情況下將它們複製(或使用版本控制,使它們成爲子版本庫)。

如何映射到IDE中的操作取決於IDE,但總體而言,可能最容易讓應用程序按照需要在磁盤上構建而成,並且可以從中反向工作以使IDE設置爲您喜歡的方式它。

+0

感謝Nick - 根據您的建議,將代碼移入src文件夾,然後添加到單獨的svn存儲庫。現在我只需要將它導入到其他項目中,我應該可以。 – Antonio

相關問題