我最近买了一台新电脑(我的第一台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