python'import'包在shell中有效,但在Jupyter Notebook中不起作用。为什么?

时间:2018-09-20 15:23:07

标签: python jupyter-notebook virtualenv

我正在尝试将自定义程序包导入Jupyter Notebook,但出现问题。打开终端后,该软件包即可工作,但是将其导入笔记本时却出现“无模块错误”。

我已经使用python3 -m venv设置了一个虚拟环境,并使用setuptools创建了一个setup.py,因此可以使用自定义软件包

这是我的项目结构

./-- notebook -- my_notebook.ipynb
  └── src -- funct -- func.py
  └── setup.py

我也知道我已经正确安装了该软件包:

$ pip3 list
Package    Version Location
---------- ------- -------------------------------------------------------
pip        18.0
setuptools 39.0.1
src        0.1.0   /Users/me/project

在我的终端机上:

$ python3
>>> import src
>>> from src.funct import func
>>> func.foo()
'Foo'

但是,当我在笔记本中运行import src时,我得到:

import src
ImportError: No module named src

这是我的setup.py

from setuptools import find_packages, setup

setup(
    name='src',
    packages=find_packages(),
    version='0.1.0',
    description='Example',
    author='me',
    license='MIT',
)

如果该软件包可以正确导入到我的python shell中,为什么不能将其导入到我的笔记本中?这是权限问题吗?如果可以,该如何检查?

任何帮助将不胜感激。

谢谢。

*更新*

这是从SOURCES.txt生成的setup.py

README.md
src/__init__.py
src.egg-info/PKG-INFO
src.egg-info/SOURCES.txt
src.egg-info/dependency_links.txt
src.egg-info/top_level.txt
src/funct/__init__.py
src/funct/func.py

所以现在我更加困惑为什么它无法导入。

0 个答案:

没有答案