解决模块之间python的依赖关系

时间:2009-03-28 09:33:53

标签: python dependencies

我是python的新手。我有两个模块。型号M1和模块m2。 从m2开始,我需要参考m1和m2,m1位于磁盘的两个不同位置。

当我在执行m2之前尝试导入m1时,当然它说无法找到m1。 我怎样才能将口译员指向m1的位置。

由于 Ĵ

3 个答案:

答案 0 :(得分:3)

它不是完全清楚您的具体问题是什么(提供更多细节!),但您可能会发现这些有用(进一步的Google搜索将帮助您针对您的特定需求找到具体答案):

  • PYTHONPATH环境变量
  • 显示在PYTHONPATH 目录中的
  • .pth文件
  • 导入前操作sys.path

但是,如果m2取决于m1,并且它们分布在一起,那么使用packages将它们放在同一目录树中可能更好。

答案 1 :(得分:2)

如果无法修改shell环境,则可以在脚本中追加希望解释器从sys.path搜索模块的任何目录。实际上,PYTHONPATH环境变量被读取并用于初始化sys.path

答案 2 :(得分:0)

什么可能取决于模块的细节,但通常你只需从模块中导入所需的细节对象,如下所示:

在B.py中

from A import classA1, funA1

在A.py中

from B import classB1, funB1

这样您只需导入所需内容。如果依赖关系更复杂,这可能不起作用,但一般来说它应该是可能的(除非你实际上在对象级别有真正的相互依赖,递归依赖,你无法解决!)。