Python从顶级包导入

时间:2017-05-29 13:15:14

标签: python django

我正在开发一个Django项目,我为此编写了一些非Web相关的库。

我的目录结构如下所示:

主文件夹

  • 定理证明
    • 以下是我要导入的内容
    • 应用
      • 这里是我要从
      • 导入内容的地方

我正在运行该应用的地方是web/文件夹。这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

您可以将Theorem prover文件夹添加到PYTHONPATH。在应用启动之前设置环境变量,或者通过

设置
import sys
sys.path.insert(0, '/path/to/theorem')

在导入定理相关模块之前。

答案 1 :(得分:1)

  • 确保位于项目根目录的settings.py具有sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  • 来自网络 - > app - >在这里,我想从中导入东西:
    import Theorem_prover.here_are_the_things_I_want_to_import

答案 2 :(得分:1)

使用importlib

importlib.import_module(name, package=None)
  

导入模块。 name参数指定以绝对或相对术语导入的模块(例如pkg.mod..mod)。如果名称是以相对术语指定的,则package参数必须设置为包的名称,该包用作解析包名称的锚点(例如import_module('..mod', 'pkg.subpkg')将导入pkg.mod)。