我是python的新手。我有两个模块。型号M1和模块m2。 从m2开始,我需要参考m1和m2,m1位于磁盘的两个不同位置。
当我在执行m2之前尝试导入m1时,当然它说无法找到m1。 我怎样才能将口译员指向m1的位置。
由于 Ĵ
答案 0 :(得分:3)
它不是完全清楚您的具体问题是什么(提供更多细节!),但您可能会发现这些有用(进一步的Google搜索将帮助您针对您的特定需求找到具体答案):
但是,如果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
这样您只需导入所需内容。如果依赖关系更复杂,这可能不起作用,但一般来说它应该是可能的(除非你实际上在对象级别有真正的相互依赖,递归依赖,你无法解决!)。