从目录导入模块,而不是从已安装的模块导入模块

时间:2015-11-22 14:16:04

标签: python import

我正在使用Python3 project - 让我们称之为 myproject - 与pip一起安装。出于某些原因,我创建了一个项目的入口点,一个脚本allowing to use myproject as an executable script - 这样的可执行文件使项目更容易开发。

在这个可执行脚本中(参见here整个文件),我写了以下一行:

from myproject.main import main

如果 myproject 已经使用pip安装,则此行会加载存储在 myproject 目录中的文件正如预期的那样。但是如果安装了 myproject ,Python将加载仍然通过pip安装的 myproject 模块。

我可以更改目录名称以避免问题...是否有更好的方法来设置导入源?

1 个答案:

答案 0 :(得分:0)

我发现sys.path通常的伎俩:

from myproject.main import main 
sys.path.append(os.path.join("..", "myproject"))