Python导入具有不同的目录结构

时间:2010-02-17 13:00:38

标签: python import directory-structure

我正在使用project,其中源树中的所有代码都被分成模块目录,例如:

modules/check/lib/check.py
modules/edit/lib/edit.py

在安装过程中,Python文件放在Python program_name下的同一目录site-packages中。因此,所有模块都使用语法import program_name.edit

由于目录和导入结构,源模块无法相互导入,因此每次要在源树中运行任何内容时都必须安装它们。

因此,我的问题是:如果不修改目录结构,我如何确保从modules/check/lib/check.py导入modules/edit/lib/edit.py以及从site-packages/program_name/check.py导入site-packages/program_name/edit.py?对于可能的重组,在这样的环境中,目录结构和导入的最佳实践是什么?

2 个答案:

答案 0 :(得分:2)

您可以在开发环境中将/modules/目录添加到PYTHONPATH。一旦安装在site-packages中,在check.py中调用import edit将导入正确的模块,因为它们位于同一目录中。从您的开发环境中调用import edit将导入您添加到PYTHONPATH的那个

答案 1 :(得分:0)

为什么不在开发机器上的prog_name下面安装符号链接?