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

无法从其他目录导入python文件

  •  0
  • Carpetfizz  · 技术社区  · 7 年前

    apriltag
        python
            apriltag.py
    my_notebook.ipynb
    

    apriltag.py 放进我的Jupyter笔记本。我试着这样做。。

    import sys
    import os.path
    
    sys.path.append(os.path.dirname(os.path.realpath('__file__')) + "/apriltag/python")
    
    import apriltag
    

    apriltag ,如下所示:

    print(apriltag.Detector)
    

    AttributeError                            Traceback (most recent call last)
    <ipython-input-74-d1254ec9a372> in <module>()
         12 import apriltag
         13 
    ---> 14 print(apriltag.Detector)
    
    AttributeError: module 'apriltag' has no attribute 'Detector'
    

    表明模块未正确导入。我试着创造 __init__.py python

    1 回复  |  直到 7 年前
        1
  •  2
  •   dcneuro Scott Mermelstein    6 年前

    好的,我要早点来。我可能有办法解决你的问题。如果我不知道,我们可以回去解决。

    正如你可能已经看到的那样 docs

    包含正在运行的脚本的目录位于搜索路径的开头,

    现在,你在运行我的笔记本。ipynb,所以它的目录是搜索路径的最开始。你可能有一个 __init__.py __初始化。py公司 在那里,它作为一个空模块加载。

    相反,不要尝试修改系统。路径目录,只需将其设为空

    然后,您应该能够执行以下操作:

    from apriltag.python import apriltag
    

    dir(apriltag) 将给您带来更好的结果。)

    通常,我总是将所有代码设置在空目录中 然后用 from