2016-04-18 234 views
1

我有以下的目錄佈局:導入Python模塊

A/ 
    A1.py 
    B/ 
    B1.py 

而且B1.py是依賴於A1.py.腳本我的理解是,如果有一個__init__.py,然後在B1.py我應該能夠說:

from A import A1 

但是,無論我做什麼,我似乎得到一個ImportError:沒有找到模塊A。有一個問題我已經試過的事情正在做

import sys 
sys.path.append('path/to/A') 
import A 

但這似乎並不要麼幫助,反正我覺得奇怪,我說,此一特設方法是解決方案。

我正在使用python 3.5.1另外,我想我應該仔細檢查另外一件事 - 可以在模塊中使用非'.py'文件嗎?

我在我的智慧結束這件事 - 我已經看過它,在我看來,這種設置應該工作,但我想我有些東西我只是不理解。對於之前看到的許多問題,我很抱歉做出一個或多或少的重複問題,但在我看來,我遵循了其他答案中給出的指示,但仍然無法正常工作。

作爲一個方面說明 - 爲什麼這在python中並不容易?爲什麼我不能說像

import ../A1 

任何意見或建議,非常感謝。

+0

您是否嘗試過'from .. import A1'?有關更多詳細信息,請參見[PEP 328](https://www.python.org/dev/peps/pep-0328/)。 – rmunn

+0

是的,我試過了 - 我得到 SystemError:父模塊''未加載,無法執行相對導入 – ira

+0

究竟在哪裏運行您的python命令? – idjaw

回答

0

您需要安裝您的模塊。從A的目錄中執行pip install .。然後從B,做from A import ..。事實上,A有一個__init__告訴我,它的目的是成爲一個圖書館。 A的目錄中還需要一個setup.py文件。