Uploading Python third party libraries

匿名 (未验证) 提交于 2019-12-03 10:24:21

问题:

Google App engine documentation states that it is possible to upload and use third party libraries provided they written in pure Python.

What are the steps I need to take to do this?

回答1:

What I did is created a file called fix_path.py in my root directory that looks like this:

import os import sys import jinja2    # path to lib direcotory sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib')) 

Then I created a lib directory, and drop the module in there.

For example, I use WTForms. My file structure looks like this.

  • lib
    • wtforms
  • fix_path.py
  • somefile.py

when I am ready to call it from my somefile script

import fix_path # has to be first. import wtforms 

here is this example in my github source. checkout fix_path.py for setup and views.py for usage.



回答2:

Well I tried the same with following steps.

  1. created a directory(lib) with init file i.e lib/__init__.py in my project root.
  2. created my module (mymodule.py), and defined a function i.e.

    def myfunc():     return "mycustomfunction" 
  3. imported mymodule in my main.py

    from lib import mymodule 

I could use the returned value from myfunc() and could pass that as a template value to my jinja2 template

Similarly, if we follow what @rjz also pointed out in the first answer, if the 3rd Party library is just a module then we can keep that in libs with an init file and it can be imported with an import statement ( point 3) . If the 3rd party library is a package then we can keep it in the project root and import it again with an import statement as this one in the main.py:

from thirdpartypackage import *  


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!