Jupyter笔记本 - 无法从其他文件夹导入python函数

时间:2018-05-03 12:33:52

标签: python jupyter-notebook

我有一个Jupyter笔记本,我想使用我电脑中其他文件夹的本地python函数。 当我导入这些函数时,我收到此错误: " ModuleNotFoundError:没有名为&x; xxxxxxxxxxxxx'

的模块
  • 我使用anaconda作为python解释器

3 个答案:

答案 0 :(得分:2)

您可以使用sys将路径添加到本地模块/ python文件中。

import sys
sys.path.append("/path/to/file/")  # path contains python_file.py

import python_file

如果您想通过向Anaconda路径添加模块来获得更持久的解决方案,请参阅cord-kaldemeyer https://stackoverflow.com/a/37008663/7019148的上一个答案。下面复制的内容是为了完整性:

  

我在Anaconda论坛上找到了我的问题的两个答案:

     

1。)将模块放入site-packages中,即$ HOME / path / to / anaconda / lib / pythonX.X / site-packages目录,它始终打开   sys.path中。这也可以通过创建符号链接来实现。

     

2.。)将.pth文件添加到$ HOME / path / to / anaconda / lib / pythonX.X / site-packages目录中。这可以命名   任何东西(它必须以.pth结尾)。 .pth文件只是一个   以换行符分隔的目录的完整路径名列表   将在Python启动时添加到您的路径中。

     

两者都很直接,我选择了第二个选项   更灵活。

     

***更新:

     

3.。)在软件包的文件夹中创建一个setup.py并使用pip install -e / path / to / package安装它,这是最干净的选项   从我的角度来看,因为你也可以看到所有安装使用   点子列表。

     

非常感谢!

答案 1 :(得分:2)

看,在python 2.7上它会起作用,但是在python 3上你会遇到一些错误......

如果您在其他文件中编写某些函数,则需要导入此文件。如果这个文件在同一个文件夹中 - 这很好。但如果在子文件夹中...在子文件夹中,则需要创建空文件 init .py
现在,如果您尝试从子文件导入模块 - 也将工作

无能为力(对于python 3)
使用此代码



import os
import sys

sys.path.append(os.getcwd() + '/modules')
import my_module




答案 2 :(得分:1)

如果您还没有,请尝试在代码中使用该函数的完整路径名。

Folder1

__init__.py将是与主程序位于同一目录中的文件夹。 另外,在导入的每个文件夹中创建一个名为println(doc.toString());的空文件。