2012-02-19 75 views

回答

0

PYTHONPATH指定一系列文件夾來開始搜索導入的模塊。

GAE將包含app.yaml的文件夾添加到您的PYTHONPATH中。

所以假設的app.yaml是(包含「庫」和「應用程序」,即文件夾),那麼任何應用程式,可以導入相對於那裏結構的根......

from library import lib1 

    from library/lib2 import x 
+1

請注意,通過不調整路徑,您可能會在許多庫中發生隨機破壞。許多庫使用絕對導入,因此這些庫將無法正確導入其子組件。還要注意,有一個語法錯誤,'/'應該是'。'。 – 2012-02-21 16:14:37

3

或者可以將library目錄添加到sys.path

在庫文件夾內創建一個__init__.py

import os 
import sys 

def add_lib_path(): 
    lib_directory = os.path.dirname(os.path.abspath(__file__)) 
    if lib_directory not in sys.path: 
     sys.path.insert(0, lib_directory) 

在每一個地方,你導入從library文件夾庫導入語句之前添加以下代碼文件:

from lib import add_lib_path 
add_lib_path() 

在這種情況下,你的所有導入的庫預期行爲。

相關問題