单独在多个模块中包含自定义python模块

时间:2016-12-30 11:18:12

标签: python aws-lambda python-module

我已经创建了一个自定义的python模块(比如awesome-lib.py),它将由多个其他python模块(module1.pymodule2.py等)导入和使用。问题是所有模块都需要位于不同的文件夹中,并且每个模块都应该有awesome-lib.py的副本供他们导入。我想到了两个选项:

  1. 每个模块文件夹中都会包含awesome-lib.py的副本。这样我就可以import awesome-lib并在每个模块中使用它。但问题是我必须在awesome-lib.py进行任何更改。我必须分别复制每个模块文件夹中的文件,所以这可能不是一个好方法。
  2. 我可以使用awesome-lib.py打包distutils。每当我在模块中进行更改时,我将使用某个脚本更新每个模块中的awesome-lib.py。但仍然我希望将awesome-lib分发包单独包含在每个模块文件夹中。
  3. 有谁能告诉我一个有效的方法来实现这一目标?这样我就可以轻松更改一个文件,并且更改将分别反映在所有模块中。

    PS:我希望每个模块文件夹中的awesome-lib.py分开,因为我需要压缩它的内容并将每个模块作为Lambda zip包上传到AWS Lambda上。

1 个答案:

答案 0 :(得分:0)

只允许将awesome-lib.py的一个副本放置在其放置的位置,并将其附加到其他模块中。让样本路径为" /home/user/awesome-lib.py"

在要导入的每个其他模块中添加以下代码awesome-lib.py

import sys sys.path.append('home/user/awesome-lib') import awesome-lib

注意:awesome-lib的路径可能因您的选择而有所不同