我有我的GAE项目目录结构如下:使库文件夹可见在不同的目录/子目录所有的Python脚本与GAE项目目录
项目:
- 库:
- lib1.py
- LIB2/x.py
- LIB2/y.py
个
- 应用:
- APP1/app1.py
- APP 2/app2.py
- APP 2/async.py
如何让我的库文件夹可见于任何应用程序那将永远在应用程序目录和它的子目录中创建?
我有我的GAE项目目录结构如下:使库文件夹可见在不同的目录/子目录所有的Python脚本与GAE项目目录
项目:
如何让我的库文件夹可见于任何应用程序那将永远在应用程序目录和它的子目录中创建?
PYTHONPATH指定一系列文件夹来开始搜索导入的模块。
GAE将包含app.yaml的文件夹添加到您的PYTHONPATH中。
所以假设的app.yaml是(包含“库”和“应用程序”,即文件夹),那么任何应用程式,可以导入相对于那里结构的根......
from library import lib1
from library/lib2 import x
或者可以将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()
在这种情况下,你的所有导入的库预期行为。
请注意,通过不调整路径,您可能会在许多库中发生随机破坏。许多库使用绝对导入,因此这些库将无法正确导入其子组件。还要注意,有一个语法错误,'/'应该是'。'。 – 2012-02-21 16:14:37