2017-08-24 76 views
0

我有MS VS社區2117中的解決方案,在此解決方案中有兩個項目。這看起來像MS VS社區中的相對進口2017

solution- 
     | 
     |-project A- 
     |   | 
     |   |-A.py 
     |-project B- 
        | 
        |-B.py 

而且我打算從A.py導入一個類(讓我們這也叫A)到B.py.然而,當在B.py中試圖寫

from .A import A 

.A不可見。

我可以使用相對導入來設置兩個項目的模塊之間的關係,還是我做錯了什麼?

我正在使用CPython 3.6。

回答

0

相關進口可用於包裝。要製作軟件包,您需要在每個要製作軟件包的目錄中添加一個名爲__init__.py的空文件。然後你導入包括其中進口它作爲一個包的目錄:

例如:

main.py 

solution/ 
| 
|- __init__.py 
| 
|-- project_a/ 
|   | 
|   |- __init__.py 
|   |- a.py 
| 
|-- project_b/ 
      | 
      |- __init__.py 
      |- b.py 

a.py:

print "Hello A" 

導入../project_a/a.py到b中的.py:

from solution.project_a import a 

print "Hello B" 

從main.py你會導入b,爲包:

當你執行現在
from solution.project_b import b 

print "Hello Main" 

main.py:

Hello A 
Hello B 
Hello Main 
+0

也許我錯了,但我讀了CPython的3.6做出這一招是多餘的。 –