如何组织和构建自定义Python库和多个客户端

时间:2017-02-25 01:32:49

标签: python google-app-engine

我已经在自己的目录中编写了一些Python类。

mylib/
  __init__.py
  a.py
  b.py

我还写了两个使用该库的客户端:

  1. Google AppEngine(位于API目录中)
  2. 提供命令行界面和标志的Python脚本(在CLI目录中)。
  3. 我的整个项目目录是:

    myproject/
      CLI/
         command_line_client.py
      API/
        app.yaml
        lib/
      mylib/
        __init__.py
        a.py
        b.py
    

    我不知道是否存在规范结构,但这似乎是合理的,因为我可以更改一次库,并且CLI和API都将更新。

    但是,我不确定这将如何实际起作用。具体有两个问题:

    1. AppEngine要求库存在于lib子目录中,以便它们与应用程序一起部署到AppEngine。如何获取mylib到AppEngine lib子目录?
    2. CLImylib目录存在于同一级别,因此我不确定Python导入的工作原理。我的CLI Python脚本如何导入库?

1 个答案:

答案 0 :(得分:0)

只需为my_lib内的API/lib文件夹创建一个符号链接即可。之后,您可以从API服务轻松访问mylib

myproject$ ls -s ../mylib API/lib/