2016-01-24 17 views
21

Trong Jupyter mô-đun nhỏ của riêng tôi không được tải nhưng trong python/bpython là tất cả mọi thứ là tốt. Khi nhậpsys.path khác nhau trong Jupyter và Python - cách nhập mô-đun riêng trong Jupyter?

import sys 
print(sys.path) 

đường dẫn đến mô-đun của tôi sẽ không hiển thị trong Jupyter nhưng trong python/bpython vẫn ở đó.

Tôi đang sử dụng:

  1. PYTHONPATH trong .bashrc để bao gồm mô-đun của tôi,
  2. Jupyter và bpython bên trong một virtualenv.

Những câu hỏi tương tự như hầu hết là này Cannot import modules in jupyter notebook; wrong sys.path

Làm thế nào để cấu hình Jupyter để tải các module của tôi Automagically?

+0

có bạn đã cố gắng chạy 'sys.path.append ('/ path/to/your/mã')' trong Jupyter ipython vỏ hoặc sổ tay? Nếu nó hoạt động, bạn có thể thêm lệnh này vào cấu hình ipython. – miraculixx

+0

cảm ơn bạn đã gợi ý với hồ sơ ipython. Tôi đã không nhận thức được rằng ipython/jupyter thực hiện điều đó. Một hướng dẫn tốt phải làm là tìm thấy ở đây http://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not/ – ulf

+0

Một bình luận chung là chạy cả hai một môi trường anaconda. Bằng cách đó bạn a) không lộn xộn với các tập tin hệ thống, b) có cả hai chạy cùng một phiên bản của gói và tránh nhầm lẫn. Cũng cho mô-đun của bạn, thật dễ dàng để viết một setup.py và cài đặt phiên bản ediatble của nó trong môi trường. Bằng cách đó bạn có thể làm '' 'nhập mô-đun của tôi''' ngay lập tức. – GrigorisG

Trả lời

11

Dưới đây là những gì tôi làm cho các dự án của tôi trong máy tính xách tay jupyter,

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

Sau đó, để ảnh hưởng đến sự thay đổi trong customFunctions.py,

%load_ext autoreload 
%autoreload 2 
5

Jupyter có biến PATH của riêng mình, JUPYTER_PATH.

Thêm dòng này vào file .bashrc làm việc cho tôi:

export JUPYTER_PATH=<directory_for_your_module>:$JUPYTER_PATH 
Các vấn đề liên quan