gpt4 book ai didi

import - 使用 PyCharm 在 Jupyter notebook 中导入自定义模块的问题

转载 作者:行者123 更新时间:2023-12-04 21:09:57 26 4
gpt4 key购买 nike

我正在尝试使用 PyCharm (2016.1) 在 Jupyter 笔记本中导入自定义模块。但是,我总是收到“ImportError:没有名为 xxx 的模块”。导入 NumPy 或 Matplotlib 之类的包可以正常工作。自定义模块和笔记本在同一个目录下,我尝试将目录设置为sources root。我怎样才能解决这个问题?非常感谢!

最佳答案

如果您在笔记本中运行以下命令...

import sys
sys.path

...并且您看不到包含包/模块的目录的路径,有几种方法可以解决它。我无法推测为什么在这个例子中会发生这种情况。我在 sys.path 的结果中看到了一些差异。在 OS X 上从 PyCharm 本地运行 Jupyter 与在托管 Linux 服务上运行 Jupyter 时。

一个简单的解决方法是在笔记本中设置 sys 路径以反射(reflect)包/模块的根目录。例如,如果您的笔记本位于包或模块所在的子目录中,并且 sys.path仅反射(reflect)该子目录:
import sys
sys.path.append("../")

关键是 sys.path必须包括包和模块所在的目录,因此您附加的路径将取决于具体情况。

如果您使用 virtualenv 作为项目解释器,也许更合适的解决方案是创建一个 setup.py为您的项目并将项目安装为带有 pip 的可编辑包。例如。 pip install -e .然后,只要 Jupyter 是从该 virtualenv 运行的,导入就不应该有任何问题。

我在 OS X 上遇到的一个难看的问题是 Jupyter 在启动时引用了错误的 virtualenv。通过检查 sys.path 的结果,这也应该很明显。 .我真的不知道我是如何无意中设置这个的,但我认为这是因为我第一次让 Jupyter 在 PyCharm 中工作时胡思乱想。与其使用本地虚拟环境启动 Jupyter,不如使用 ~/Library/Jupyter/kernels/.python/kernel.json 中定义的环境运行。 .我可以通过清除该目录来清除它,例如 rm -r ~/Library/Jupyter/kernels/.python .

关于import - 使用 PyCharm 在 Jupyter notebook 中导入自定义模块的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36963683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com