sys.chemin différent en Jupyter et Python - comment importer ses propres modules en Jupyter?

dans Jupyter mon propre petit module n'est pas chargé mais en python/bpython tout va bien. En tapant

import sys
print(sys.path)

le chemin vers mon module n'apparaîtra pas dans Jupyter mais dans python/bpython il est toujours là.

j'utilise:

  1. PYTHONPATH in .bashrc pour inclure mon module,
  2. Jupyter et bpython à l'intérieur d'un virtualenv.

Le plus semblable questions est-ce ne peut pas importer de modules dans le carnet jupyter; mauvais système.chemin

comment configurer Jupyter pour charger mes modules de manière automatique?

27
demandé sur Community 2016-01-24 17:12:53

3 réponses

Voici ce que je fais sur mes projets en jupyter notebook,

import sys
sys.path.append("../") # go to parent dir
from customFunctions import *

puis, pour affecter les changements dans customFunctions.py ,

%load_ext autoreload
%autoreload 2
19
répondu Dogan Askan 2017-03-10 22:47:13

Jupyter a sa propre variable de chemin, JUPYTER_PATH.

ajouter cette ligne au fichier .bashrc travaillé pour moi:

export JUPYTER_PATH=<directory_for_your_module>:$JUPYTER_PATH
11
répondu N. P. 2017-09-12 15:28:28

Jupyter est la base d'ipython, une solution permanente pourrait changer les options de configuration d'ipython.

créer un fichier de configuration

$ ipython profile create
$ ipython locate
/Users/username/.ipython

modifier le fichier de configuration

$ cd /Users/username/.ipython
$ vi profile_default/ipython_config.py

les lignes suivantes vous permettent d'ajouter votre chemin de module à sys.chemin

c.InteractiveShellApp.exec_lines = [
    'import sys; sys.path.append("/path/to/your/module")'
]

au démarrage de jupyter la ligne précédente sera exécutée

Ici, vous pouvez trouver plus de détails sur ipython config https://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not /

1
répondu Mattia Fantoni 2018-05-12 11:20:10