2010-02-12 58 views
2

這裏是目錄結構:在我的PYTHONPATH 如何將C++ python擴展導入到另一個目錄中的模塊中?

  • 所有__init__.py文件是空的

    app/ 
        __init__.py 
        sub1/ 
         __init__.py 
         mod1.py 
        sub2/ 
         __init__.py 
         sub2.so 
         test_sub2.py 
    
    • 該文件夾的應用程序是。
    • 共享庫sub2.so是我使用cmake和boost-python編譯的C++擴展模塊。
    • test_sub2.py是用於sub2.so.定義的類的測試腳本
    • 如果我從SUB2目錄中運行test_sub2.py,其正確導入模塊和測試通過。

    如何將sub2.so中的類A導入到mod1.py中?

  • 回答

    2

    導入它的方法是從任何源文件導入app.sub2.sub2。您的測試實際上應該在app以外,並使用該模塊路徑到達擴展模塊。

    0

    嘗試

    import .app.sub2.sub2 
    

    在mod1.py文件

    0

    使用相對進口:

    from ..sub2.sub2 import A 
    

    這類似於一個相對路徑 「../sub2/sub2.so」 。

    相關問題