[英]Python Modules not Being Found?
我是Python的新手,試圖了解如何正確設置模塊。
我有以下幾點:
dir1
pack1.py
dir2
pack2.py
...當然,在我的目錄中,我有__init__.py
現在,我正在嘗試從pack1.py繼承pack2.py
得到以下內容:
class Pack2(Pack1):
def __repr__(self):
....my code goes here....
我想將此導入到程序中,以便可以使用Pack2
我的問題:我在嘗試弄清楚要在我的程序和pack2.py文件中使用的import語句時遇到了麻煩。
我嘗試過(在我的程序中):
from dir1.dir2 import pack2
並在Pack2中
from dir1 import pack1
但沒有骰子。 這看起來正確嗎?
您設置了Python路徑嗎? 如果您還沒有,那么Python解釋器將不可能找到您的所有模塊。
每個腳本的目錄都位於Python路徑中,因此模塊可以將其他模塊導入相同或更低的目錄中。 但是需要從父目錄導入內容的模塊需要做一些額外的工作。
解決方案是修改sys.path:
import sys
# Add parent directory to path
sys.path.append('..')
在python中, import module
不會使import module
中定義的所有名稱直接在當前名稱空間中可用...您需要使用module.name
來訪問它們。 如果要直接獲取模塊中定義的所有名稱,則必須執行類似from module import *
。
為了能夠確定問題出在哪里,應該顯示__init__.py
文件的內容,但是假設它們是僅用於將子目錄用作模塊而創建的空文件,那么我認為您應該使用:
from dir1.dir2.pack2 import Pack2
from dir2.pack2 import Pack2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.