2016-01-24 7 views
21

In Jupyter il mio piccolo modulo non è caricato ma in python/bpython è tutto a posto. Quando si digitasys.path diversi in Jupyter e Python - come importare i propri moduli in Jupyter?

import sys 
print(sys.path) 

il percorso per il mio modulo non sarà in mostra a Jupyter ma in Python/bpython è ancora lì.

sto usando:

  1. PYTHONPATH in .bashrc per includere il mio modulo,
  2. Jupyter e bpython all'interno di una virtualenv.

Le domande più simili è questo Cannot import modules in jupyter notebook; wrong sys.path

Come configurare Jupyter per caricare i miei moduli automagically?

+0

Hai provato in esecuzione 'sys.path.append ('/ path/to/tua/code')' all'interno del Jupyter ipython shell o taccuino? Se funziona, puoi aggiungere questo comando al profilo ipython. – miraculixx

+0

grazie per il tuo suggerimento con il profilo ipython. Non ero a conoscenza del fatto che ipython/jupyter facesse la stessa cosa. Una buona istruzione su cosa fare si trova qui http://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not/ – ulf

+0

Un commento generale è quello di eseguire entrambi attraverso un ambiente anaconda. In questo modo a) non si scherza con i file di sistema, b) entrambi hanno in esecuzione le stesse versioni dei pacchetti ed evitano confusioni. Anche per il modulo, è abbastanza facile scrivere un setup.py e installarne una versione edile nell'ambiente. In questo modo puoi fare '' 'import my module''' subito. – GrigorisG

risposta

11

Ecco quello che faccio sui miei progetti in notebook jupyter,

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

Poi, per effetto modifiche in customFunctions.py,

%load_ext autoreload 
%autoreload 2 
5

Jupyter ha la sua variabile proprio percorso, JUPYTER_PATH.

L'aggiunta di questa riga al file .bashrc funzionato per me:

export JUPYTER_PATH=<directory_for_your_module>:$JUPYTER_PATH