在使用 pip 开发模式安装的 jupyter notebook 中导入包

import package in jupyter notebook installed with pip development mode

我正在使用 anaconda 来管理虚拟环境。我正在开发一些 Jupyter Notebooks,并且在多个 Notebooks 中使用一些功能。所以我想将这些函数提取到一个包中,让我们在我的笔记本中调用它 mytoolsimport mytools 。我从父目录安装了工具包:

source activate myenv
pip install -e ./mytools/    

和运行 jupyter 笔记本服务器

source activate myenv
jupyter notebook

当我执行 import mytools 时出现错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-cbc927808b4d> in <module>()
----> 1 import mytools

ImportError: No module named 'mytools'

为什么juypter notebook导入不了?

当我在conda环境下运行pip list时可以看到安装包。

当我运行:

import sys
sys.executable

指向myenv环境/Users/me/anaconda/envs/myenv/bin/python

我的文件夹结构:

├── Notebook Project1
│    └── Notebook1.ipynb
├── Notebook Project2
│    └── Notebook2.ipynb
└── mytools
     ├── __init__.py
     ├── module1
     │    ├── modulecode.py
     │    └── __init__.py
     ├── module2
     │    ├── modulecode.py
     │    └── __init__.py
     └── setup.py

问题是 setup.py 文件中的错误。

这帮助我解决了错误:https://docs.python.org/3/distutils/setupscript.html