代码之家  ›  专栏  ›  技术社区  ›  avocado

让目录成为可导入包的最佳实践是什么?

  •  1
  • avocado  · 技术社区  · 3 年前

    我创建了一些实用程序函数,都放在一个文件夹中,后来我创建了一些脚本,将函数导入该文件夹中,请参见下面的文件结构,

    root
    |-- myutils  (folder with util python files)
    |   |-- __init__.py  (empty)
    |   |-- utils1.py
    |   |-- utils2.py  (utils1 is imported by utils2)
    |
    |-- myscripts
    |   |-- hello.py  (try to import utils1 and utils2)
    

    现在的问题是,我无法在hello中导入utils1/utils2。皮,这是我试过的

    # This is hello.py
    
    import sys
    sys.path.append("root")  # so that we can search root and find myutils
    
    import myutils  # import myutils, this is OK and no errors
    
    x = myutils.utils1.foo()  # ERROR: module 'myutils' has no attribute 'utils1'
    

    我该如何修复错误?对于我的用例,这里的最佳实践是什么?

    0 回复  |  直到 3 年前