Google App 引擎文档指出,如果第三方库是用纯 Python 编写的,则可以上传和使用它们。
我需要采取哪些步骤来执行此操作?
我所做的是在我的根目录中创建了一个名为 fix_path.py 的文件,如下所示:
import os
import sys
import jinja2
# path to lib direcotory
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib'))
然后我创建了一个 lib 目录,并将模块放在那里。
例如,我使用 WTForms。我的文件结构如下所示。
当我准备从我的 somefile 脚本中调用它时
import fix_path # has to be first.
import wtforms
这是我的 github 源代码中的这个例子。结帐 fix_path.py 用于设置和 views.py 用于使用。
好吧,我尝试了以下步骤。
lib/__init__.py
在我的项目根目录中。创建了我的模块(mymodule.py
),并定义了一个函数,即
def myfunc():
return "mycustomfunction"
在我的导入 mymodulemain.py
from lib import mymodule
我可以使用返回的值myfunc()
并将其作为模板值传递给我的 jinja2 模板
同样,如果我们遵循@rjz 在第一个答案中也指出的内容,如果第 3 方库只是一个模块,那么我们可以将其保存在带有init文件的库中,并且可以使用 import 语句导入(第 3 点)。如果第 3 方库是一个包,那么我们可以将它保存在项目根目录中,然后使用以下 import 语句再次导入它main.py
:
from thirdpartypackage import *