上传Python第三方库

时间:2012-05-18 07:12:59

标签: python google-app-engine

Google App引擎文档指出,只要用纯Python编写,就可以上传和使用第三方库。

我需要采取哪些步骤才能做到这一点?

2 个答案:

答案 0 :(得分:11)

我所做的是在我的根目录中创建了一个名为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。我的文件结构如下所示。

  • LIB
    • wtforms
  • fix_path.py
  • somefile.py

当我准备从我的somefile脚本中调用它时

import fix_path # has to be first.
import wtforms

here是我的github源码中的这个例子。 checkout fix_path.py用于setup和views.py以供使用。

答案 1 :(得分:0)

我尝试了以下步骤。

  1. 在我的项目根目录中创建了一个带有init文件的目录(lib),即lib/__init__.py
  2. 创建了我的模块(mymodule.py),并定义了一个函数,即

    def myfunc():
        return "mycustomfunction"
    
  3. main.py

    中导入了mymodule
    from lib import mymodule
    
  4. 我可以使用myfunc()返回的值,并将其作为模板值传递给我的jinja2模板

    同样,如果我们按照@rjz在第一个答案中指出的那样,如果第三方库只是一个模块,那么我们可以将它保存在带有 init 文件的库中,它可以是使用import语句导入(第3点)。如果第三方库是一个包,那么我们可以将它保存在项目根目录中并使用import main.py中的导入语句再次导入它:

    from thirdpartypackage import *