Cách thiết lập notebook Jupyter để chạy IPython trên Ubuntu 16.04
IPython là một giao diện dòng lệnh tương tác với Python. Jupyter Notebook cung cấp giao diện web tương tác với nhiều ngôn ngữ, bao gồm cả IPython.Bài viết này sẽ hướng dẫn bạn cách cài đặt server để chạy Jupyter Notebook cũng như hướng dẫn bạn cách kết nối và sử dụng sổ ghi chép. Sổ tay Jupyter (hoặc đơn giản là sổ ghi chép) là tài liệu được tạo bởi ứng dụng Sổ tay Jupyter chứa cả mã máy tính (ví dụ: Python) và các phần tử văn bản đa dạng thức (đoạn văn, phương trình, số liệu, liên kết, v.v.) hỗ trợ trình bày nghiên cứu có thể tái tạo.
Đến cuối hướng dẫn này, bạn có thể chạy mã Python 2.7 bằng Ipython và Jupyter Notebook chạy trên server từ xa. Với mục đích của hướng dẫn này, Python 2 (2.7.x) được sử dụng vì nhiều thư viện khoa học dữ liệu, máy tính khoa học và máy tính hiệu suất cao hỗ trợ 2.7 chứ không phải 3.0+.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần những thứ sau:
- Ubuntu 16.04 Server
- User không phải root có quyền sudo ( Cài đặt server ban đầu với Ubuntu 16.04 giải thích cách cài đặt điều này.)
Tất cả các lệnh trong hướng dẫn này phải được chạy với quyền user không phải root. Nếu cần có quyền truy cập root cho lệnh, nó sẽ được đặt trước sudo
. Cài đặt server ban đầu với Ubuntu 16.04 giải thích cách thêm user và cấp cho họ quyền truy cập sudo.
Bước 1 - Cài đặt Python 2.7 và Pip
Trong phần này ta sẽ cài đặt Python 2.7 và Pip.
Đầu tiên, hãy cập nhật index gói của hệ thống. Điều này sẽ đảm bảo các gói cũ hoặc lỗi thời không can thiệp vào quá trình cài đặt.
- sudo apt-get update
Tiếp theo, cài đặt Python 2.7, Python Pip và Python Development:
- sudo apt-get -y install python2.7 python-pip python-dev
Cài đặt python2.7
sẽ cập nhật lên version mới nhất của Python 2.7 và python-pip
sẽ cài đặt Pip cho phép ta quản lý các gói Python mà ta muốn sử dụng. Một số phụ thuộc của Jupyter có thể yêu cầu biên dịch, trong trường hợp đó, bạn cần khả năng biên dịch các phần mở rộng Python C, vì vậy ta cũng đang cài đặt python-dev
.
Để xác minh bạn đã cài đặt python:
- python --version
Điều này sẽ xuất ra:
OutputPython 2.7.11+
Tùy thuộc vào version mới nhất của Python 2.7, kết quả có thể khác nhau.
Bạn cũng có thể kiểm tra xem pip đã được cài đặt hay chưa bằng lệnh sau:
- pip --version
Bạn nên một cái gì đó tương tự như sau:
Outputpip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Tương tự, tùy thuộc vào version pip của bạn, kết quả có thể hơi khác một chút.
Bước 2 - Cài đặt Ipython và Jupyter Notebook
Trong phần này, ta sẽ cài đặt Ipython và Jupyter Notebook.
Đầu tiên, cài đặt Ipython:
- sudo apt-get -y install ipython ipython-notebook
Bây giờ ta có thể chuyển sang cài đặt Jupyter Notebook:
- sudo -H pip install jupyter
Tùy thuộc vào version pip có trong repository lưu trữ apt-get của Ubuntu, bạn có thể gặp lỗi sau khi cố gắng cài đặt Jupyter:
OutputYou are using pip version 8.1.1, however version 8.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
Nếu vậy, bạn có thể sử dụng pip để nâng cấp pip lên version mới nhất:
- sudo -H pip install --upgrade pip
Nâng cấp pip, rồi thử cài đặt lại Jupyter:
- sudo -H pip install jupyter
Bước 3 - Chạy Notebook Jupyter
Đến đây bạn có mọi thứ bạn cần để chạy Notebook Jupyter! Để chạy nó, hãy thực hiện lệnh sau:
- jupyter notebook
Nếu bạn đang chạy Jupyter trên một hệ thống có cài đặt JavaScript, nó sẽ vẫn chạy, nhưng có thể gây ra lỗi cho bạn biết rằng Notebook Jupyter yêu cầu JavaScript:
OutputJupyter Notebook requires JavaScript. Please enable it to proceed. ...
Để bỏ qua lỗi, bạn có thể nhấn Q
rồi nhấn Y
để xác nhận.
Nhật ký các hoạt động của Notebook Jupyter sẽ được in ra terminal . Khi bạn chạy Jupyter Notebook, nó sẽ chạy trên một số cổng cụ thể. Notebook đầu tiên bạn đang chạy thường sẽ chạy trên cổng 8888
. Để kiểm tra số cổng cụ thể Jupyter Notebook đang chạy, hãy tham khảo kết quả của lệnh được sử dụng để khởi động nó:
Output[I NotebookApp] Serving notebooks from local directory: /home/sammy [I NotebookApp] 0 active kernels [I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Nếu bạn đang chạy Jupyter Notebook trên máy tính Linux local (không phải trên Server), bạn chỉ cần chuyển đến localhost :8888
để kết nối với Jupyter Notebook. Nếu bạn đang chạy Notebook Jupyter trên Server, bạn cần kết nối với server bằng cách sử dụng tunnel SSH như được nêu trong phần tiếp theo.
Đến đây, bạn có thể giữ kết nối SSH mở và tiếp tục chạy Notebook Jupyter hoặc có thể thoát ứng dụng và chạy lại sau khi bạn cài đặt tunnel SSH. Hãy đơn giản hóa và dừng quá trình Jupyter Notebook. Ta sẽ chạy lại nó khi ta có tunnel SSH hoạt động. Để dừng quá trình Notebook Jupyter, hãy nhấn CTRL+C
, nhập Y
và nhấn ENTER
để xác nhận. Thông tin sau sẽ được hiển thị:
Output[C 12:32:23.792 NotebookApp] Shutdown confirmed [I 12:32:23.794 NotebookApp] Shutting down kernels
Bước 4 - Kết nối với server bằng SSH Tunneling
Trong phần này, ta sẽ học cách kết nối với giao diện web Jupyter Notebook bằng cách sử dụng tunnel SSH. Vì Notebook Jupyter đang chạy trên một cổng cụ thể trên Server (chẳng hạn như :8888
:8889
v.v.), tunnel SSH cho phép bạn kết nối an toàn với cổng của Server.
Hai phần phụ tiếp theo mô tả cách tạo tunnel SSH từ 1) Mac hoặc Linux và 2) Windows. Vui lòng tham khảo phần phụ cho máy tính local của bạn.
SSH Tunneling với Mac hoặc Linux
Nếu bạn đang sử dụng Mac hoặc Linux, các bước để tạo tunnel SSH tương tự như Hướng dẫn Cách sử dụng Khóa SSH với DigitalOcean Server sử dụng Linux hoặc Mac, ngoại trừ có các tham số bổ sung được thêm vào lệnh ssh
. Phần phụ này sẽ phác thảo các tham số bổ sung cần thiết trong lệnh ssh
để tạo tunnel thành công.
Việc đào tunnel SSH có thể được thực hiện bằng cách chạy lệnh SSH sau:
- ssh -L 8000:localhost:8888 your_server_username@your_server_ip
Lệnh ssh
mở một kết nối SSH, nhưng -L
chỉ định rằng cổng nhất định trên server local (máy khách) phải được chuyển tiếp đến server đã cho và cổng ở phía từ xa (Server). Điều này nghĩa là bất kỳ thứ gì đang chạy trên số cổng thứ hai (tức là 8888
) trên Server sẽ xuất hiện trên số cổng đầu tiên (tức là 8000
) trên máy tính local của bạn. Bạn nên thay đổi 8888
thành cổng mà Notebook Jupyter đang chạy. Tùy ý thay đổi cổng 8000
thành một trong những lựa chọn của bạn (ví dụ: nếu 8000
được sử dụng bởi một quy trình khác). Sử dụng một cổng lớn hơn hoặc bằng 8000
(tức là 8001
, 8002
, v.v.) để tránh sử dụng một cổng đã được sử dụng bởi một quy trình khác. server_username
là tên user của bạn (tức là sammy) trên Server mà bạn đã tạo và your_server_ip
là địa chỉ IP của Server. Ví dụ: đối với tên user sammy
và địa chỉ server 111.111.111.111
, lệnh sẽ là:
- ssh -L 8000:localhost:8888 sammy@111.111.111.111
Nếu không có lỗi nào xuất hiện sau khi chạy lệnh ssh -L
, bạn có thể chạy Jupyter Notebook:
- jupyter notebook
Bây giờ, từ trình duyệt web trên máy local của bạn, hãy mở giao diện web Jupyter Notebook với http://localhost: 8000
(hoặc bất kỳ số cổng nào bạn chọn).
SSH Tunneling với Windows và Putty
Nếu bạn đang sử dụng Windows, bạn cũng có thể dễ dàng tạo tunnel SSH bằng Putty như được nêu trong Cách sử dụng SSH key với PuTTY trên DigitalOcean Server ( user Windows) .
Đầu tiên, nhập URL server hoặc địa chỉ IP làm tên server như được hiển thị:
Tiếp theo, nhấp vào SSH ở cuối ngăn bên trái để mở rộng menu, sau đó nhấp vào Đường hầm . Nhập số cổng local để sử dụng để truy cập Jupyter trên máy local của bạn. Chọn 8000
trở lên (tức là 8001
, 8002
, v.v.) để tránh các cổng được sử dụng bởi các dịch vụ khác và đặt đích là localhost: 8888
trong đó :8888
là số cổng mà Jupyter Notebook đang chạy. Bây giờ hãy nhấp vào nút Thêm và các cổng sẽ xuất hiện trong danh sách Cổng được chuyển tiếp :
Cuối cùng, nhấp vào nút Mở để kết nối với server thông qua SSH và tạo tunnel cho các cổng mong muốn. Điều hướng đến http://localhost: 8000
(hoặc bất kỳ cổng nào bạn chọn) trong trình duyệt web để kết nối với Notebook Jupyter đang chạy trên server .
Bước 5 - Sử dụng Jupyter Notebook
Phần này đề cập đến những điều cơ bản của việc sử dụng Jupyter Notebook. Đến đây, bạn sẽ có Notebook Jupyter đang chạy và bạn sẽ được kết nối với nó bằng trình duyệt web. Jupyter Notebook rất mạnh mẽ và có nhiều tính năng. Phần này sẽ phác thảo một vài tính năng cơ bản để bạn bắt đầu sử dụng sổ ghi chép. Tự động, Jupyter Notebook sẽ hiển thị tất cả các file và folder trong folder mà nó chạy.
Để tạo file sổ tay mới, hãy chọn Mới > Python 2 từ trình đơn kéo xuống trên cùng bên phải:
Thao tác này sẽ mở một sổ ghi chép. Bây giờ ta có thể chạy mã Python trong ô hoặc thay đổi ô thành đánh dấu. Ví dụ, thay đổi tế bào đầu tiên chấp nhận Markdown bằng cách nhấn vào di động> Loại di động> Markdown từ thanh chuyển trên. Như vậy, ta có thể viết ghi chú bằng Markdown và thậm chí bao gồm các phương trình được viết bằng LaTeX bằng cách đặt chúng giữa các ký hiệu $$
. Ví dụ: nhập nội dung sau vào ô sau khi thay đổi thành đánh dấu:
# Simple Equation Let us now implement the following equation: $$ y = x^2$$ where $x = 2$
Để chuyển dấu xuống thành văn bản có định dạng, hãy nhấn CTRL+ENTER
và sau đây sẽ là kết quả:
Bạn có thể sử dụng các ô đánh dấu để ghi chú và ghi lại mã của bạn . Hãy thực hiện phương trình đơn giản đó và in kết quả. Chọn Chèn > Chèn Ô Bên dưới để chèn ô và nhập mã sau:
x = 2 y = x*x print y
Để chạy mã, nhấn CTRL+ENTER
. Sau đây là kết quả:
Đến đây bạn có khả năng bao gồm các thư viện và sử dụng sổ ghi chép như bạn làm với bất kỳ môi trường phát triển Python nào khác!
Kết luận
Xin chúc mừng! Đến đây bạn sẽ có thể viết mã Python và ghi chú có thể tái tạo bằng cách sử dụng đánh dấu bằng cách sử dụng sổ ghi chép Jupyter chạy trên Server. Để xem nhanh sổ ghi chép Jupyter, hãy chọn Trợ giúp > Tham quan Giao diện User từ menu chuyển trên cùng.
Các tin liên quan
Cách cài đặt Go 1.6 trên Ubuntu 16.042016-05-19
Cách cài đặt và sử dụng Composer trên Ubuntu 16.04
2016-05-17
Cách tập trung log với Rsyslog, Logstash và Elasticsearch trên Ubuntu 14.04
2016-05-16
Cách cài đặt và cấu hình Elasticsearch trên Ubuntu 16.04
2016-05-04
Cách cài đặt và cấu hình VNC trên Ubuntu 16.04
2016-04-26
Cách thêm không gian swap trên Ubuntu 16.04
2016-04-25
Cách cài đặt WordPress với LEMP trên Ubuntu 16.04
2016-04-25
Cách cài đặt Java với Apt-Get trên Ubuntu 16.04
2016-04-23
Cách cài đặt WordPress với LAMP trên Ubuntu 16.04
2016-04-22
Cách thêm và xóa người dùng trên Ubuntu 16.04
2016-04-21