我最近買了一臺新電腦(我的第一臺Mac,之前有一臺電腦)。我有一個充滿數據分析功能的模塊,用於我的研究,直到現在我還沒有任何理由編輯模塊。但突然間,當我將模塊導入Jupyter筆記本時,新功能未被「查看」。iPython筆記本電腦中看不到的新功能
import altdata as alt
alt.retrieve_data_from_umiami_latlonam('GISS','AQUA', 'ts')
而這會引發以下錯誤:
-----------------------------------------------------------------------
----
AttributeError Traceback (most recent call
last)
<ipython-input-3-9ccbc97fd6b8> in <module>()
1
----> 2 alt.retrieve_data_from_umiami_latlonam('GISS','AQUA', 'ts')
AttributeError: 'module' object has no attribute 'retrieve_data_from_umiami_latlonam'
我不能爲我的生活出了什麼問題。嘗試通過命令行時,它可以很好地工作,但由於某些原因,新功能在筆記本中不起作用。有任何想法嗎?
UPDATE
看來,當我在該模塊的位置(/ mymodules)的目錄中打開筆記本它的工作原理。
當我在包含mymodules的目錄中打開它,並使用
import sys
sys.path.append(r'/mymodules')
import altdata as alt
我得到的錯誤。有任何想法嗎?
您可能在PYTHON_PATH中列出了多個路徑中的模塊。而不是'sys.path.append(r'/ mymodules')'將其添加到路徑的開頭,這應該可以解決問題。即,'sys.path.insert(0,r'/ mymodules')' – Sebastian
不完全相同;我更改了路徑名並修復了它。 'sys.path.append(「/ mymodules」)'工作。感謝您的幫助 – BenL
很高興現在能夠運作。一般來說,我仍然推薦在'append'後面加上'sys.path.insert(0,'/ some_module')',因爲Python會按順序掃描sys.path列表中的軟件包,並且如果它在早期路徑中找到軟件包在那裏列出,它不會打擾你使用你追加的路徑 – Sebastian