Thứ năm, 29/08/2019 | 00:00 GMT+7

Cách thiết lập một sổ ghi chép Jupyter với Python 3 trên Debian 10

Jupyter Notebook cung cấp shell lệnh cho máy tính tương tác như một ứng dụng web để bạn có thể chia sẻ và giao tiếp bằng mã. Công cụ này được dùng với một số ngôn ngữ, bao gồm Python, Julia, R, Haskell và Ruby. Nó thường được sử dụng để làm việc với dữ liệu, mô hình thống kê và học máy.

Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt Jupyter Notebook để chạy từ server Debian 10, cũng như hướng dẫn bạn cách kết nối và sử dụng Notebook. Notebook Jupyter (hoặc chỉ "Sổ tay") là tài liệu được tạo bởi ứng dụng Notebook Jupyter chứa cả mã máy tính 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 và chia sẻ 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 3 bằng Notebook Jupyter chạy trên server Debian 10 từ xa.

Yêu cầu

Để hoàn thành hướng dẫn này, bạn phải có version server Debian 10 mới với firewall cơ bản và user không phải root có quyền sudo được cấu hình . Bạn có thể tìm hiểu cách cài đặt điều này bằng cách chạy qua hướng dẫn Cài đặt Server Ban đầu với Debian 10 của ta .

Bước 1 - Cài đặt tiêu đề Pip và Python

Để bắt đầu quá trình này, ta sẽ download và cài đặt tất cả các mục ta cần từ kho Debian. Ta sẽ sử dụng pip quản lý gói Python để cài đặt các thành phần bổ sung sau một chút.

Trước tiên, ta cần cập nhật index gói apt local , sau đó download và cài đặt các gói:

  • sudo apt update

Tiếp theo, cài đặt pip và các file tiêu đề Python, được sử dụng bởi một số phụ thuộc của Jupyter:

  • sudo apt install python3-pip python3-dev

Debian 10 (“Buster”) được cài sẵn Python 3.7.

Bây giờ ta có thể chuyển sang cài đặt một môi trường ảo Python mà ta sẽ cài đặt Jupyter.

Bước 2 - Tạo môi trường ảo Python cho Jupyter

Bây giờ ta đã có Python 3, các file tiêu đề và pip sẵn sàng hoạt động, ta có thể tạo một môi trường ảo Python để quản lý dễ dàng hơn. Ta sẽ cài đặt Jupyter vào môi trường ảo này.

Để làm điều này, trước tiên ta cần truy cập vào lệnh virtualenv . Ta có thể cài đặt cái này bằng pip .

Nâng cấp pip và cài đặt gói bằng lệnh :

  • sudo -H pip3 install --upgrade pip
  • sudo -H pip3 install virtualenv

Với virtualenv được cài đặt, ta có thể bắt đầu hình thành môi trường của bạn . Tạo và di chuyển vào một folder nơi ta có thể giữ các file dự án của bạn :

  • mkdir ~/myprojectdir
  • cd ~/myprojectdir

Trong folder dự án, hãy tạo một môi trường ảo Python bằng lệnh :

  • virtualenv myprojectenv

Thao tác này sẽ tạo một folder có tên myprojectenv trong folder myprojectdir của bạn. Bên trong, nó sẽ cài đặt version local của Python và version local của pip . Ta có thể sử dụng điều này để cài đặt và cấu hình một môi trường Python riêng biệt cho Jupyter.

Trước khi cài đặt Jupyter, ta cần kích hoạt môi trường ảo. Bạn có thể thực hiện bằng cách gõ:

  • source myprojectenv/bin/activate

Dấu nhắc của bạn sẽ thay đổi để cho biết rằng bạn hiện đang hoạt động trong môi trường ảo Python. Nó trông giống như sau : ( myprojectenv ) user @ host :~/ myprojectdir $ .

Đến đây bạn đã sẵn sàng cài đặt Jupyter vào môi trường ảo này.

Bước 3 - Cài đặt Jupyter

Với môi trường ảo của bạn đang hoạt động, hãy cài đặt Jupyter với version local của pip :

Lưu ý: Khi môi trường ảo được kích hoạt (khi dấu nhắc của bạn có (myprojectenv) đứng trước nó), hãy sử dụng pip thay vì pip3 , ngay cả khi bạn đang sử dụng Python 3. Bản sao của công cụ trong môi trường ảo luôn được đặt tên là pip , dù Python là gì version .

  • pip install jupyter

Đến đây, bạn đã cài đặt thành công tất cả các phần mềm cần thiết để chạy Jupyter. Bây giờ ta có thể khởi động server Notebook.

Bước 4 - Chạy Jupyter Notebook

Đế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

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 chạy thường sẽ sử dụng 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 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret [I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/myprojectdir [I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser. [C 21:23:21.361 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

Nếu bạn đang chạy Jupyter Notebook trên máy tính Debian local (không phải trên Server), bạn có thể chỉ cần chuyển đến URL được hiển thị để 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 21:28:28.512 NotebookApp] Shutdown confirmed [I 21:28:28.512 NotebookApp] Shutting down 0 kernels

Bây giờ ta sẽ cài đặt một tunnel SSH để ta có thể truy cập vào Notebook.

Bước 5 - 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ì Jupyter Notebook sẽ 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 máy Mac hoặc Linux, các bước để tạo tunnel SSH tương tự như sử dụng SSH để đăng nhập vào server từ xa của bạn, ngoại trừ việc có thêm các tham số trong 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.

SSH tunnel có thể được thực hiện bằng cách chạy lệnh SSH sau trong cửa sổ terminal local mới:

  • ssh -L 8888: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) sẽ được chuyển tiếp đến server lưu trữ nhất định và cổng ở phía từ xa ( server ). Điều này nghĩa là bất cứ thứ gì đang chạy trên số cổng thứ hai (ví dụ: 8888 ) trên server sẽ xuất hiện trên số cổng đầu tiên (ví dụ: 8888 ) trên máy tính local của bạn.

Tùy ý thay đổi cổng 8888 thành một trong những lựa chọn của bạn để 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 (ví dụ: sammy ) trên server mà bạn đã tạo và your_server_ip là địa chỉ IP của server của bạn.

Ví dụ: đối với tên user sammy và địa chỉ server 203.0.113.0 , lệnh sẽ là:

  • ssh -L 8888:localhost:8888 sammy@203.0.113.0

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ể chuyển vào môi trường lập trình của bạn và chạy Jupyter Notebook:

  • jupyter notebook

Bạn sẽ nhận được kết quả với một URL. 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 URL bắt đầu bằng http://localhost:8888 . Đảm bảo rằng số mã thông báo được bao gồm hoặc nhập chuỗi số mã thông báo khi được yêu cầu tại http://localhost:8888 .

SSH Tunneling với Windows và Putty

Nếu bạn đang sử dụng Windows, bạn có thể tạo tunnel SSH bằng Putty .

Đầu tiên, nhập URL server hoặc địa chỉ IP làm tên server như được hiển thị:

Đặt tên  server  cho SSH Tunnel

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 để 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 :

Danh sách các 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 . Đảm bảo rằng số mã thông báo được bao gồm hoặc nhập chuỗi số mã thông báo khi được yêu cầu tại http://localhost:8000 .

Bước 6 - 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ếu bạn hiện không có Notebook Jupyter đang chạy, hãy khởi động bằng lệnh jupyter notebook .

Đến đây bạn sẽ được kết nối với nó bằng trình duyệt web. Jupyter Notebook là một công cụ rất mạnh mẽ với nhiều tính năng. Phần này sẽ trình bày một vài tính năng cơ bản để giúp bạn bắt đầu sử dụng Notebook. Jupyter Notebook sẽ hiển thị tất cả các file và folder trong folder mà nó được chạy, vì vậy khi bạn đang làm việc trên một dự án, hãy đảm bảo khởi động nó từ folder dự án.

Để tạo file Notebook mới, hãy chọn Mới > Python 3 từ trình đơn kéo xuống trên cùng bên phải:

Tạo sổ ghi chép Python 3 mới

Thao tác này sẽ mở một Notebook. 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:

# First 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ả:

kết quả đánh dấu

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 đó và in kết quả. Bấm vào ô trên cùng, sau đó nhấn ALT+ENTER để thêm một ô bên dưới ô đó. Nhập mã sau vào ô mới.

x = 2 y = x**2 print(y) 

Để chạy mã, nhấn CTRL+ENTER . Bạn sẽ nhận được các kết quả sau:

kết quả phương trình đầu tiên

Đến đây bạn có khả năng nhập các module và sử dụng Notebook 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

Đến đây, bạn có thể viết mã Python có thể tái tạo và ghi chú trong Markdown bằng Jupyter Notebook. Để tham quan nhanh Jupyter Notebook từ trong giao diện, hãy chọn Trợ giúp > Tham quan giao diện user từ menu chuyển trên cùng để tìm hiểu thêm.

Từ đây, bạn có thể bắt đầu dự án phân tích và trực quan hóa dữ liệu bằng cách đọc Phân tích và hình ảnh hóa dữ liệu với pandas và Notebook Jupyter trong Python 3 .


Tags:

Các tin liên quan

Cách cài đặt Python 3 và thiết lập môi trường lập trình cục bộ trên macOS
2019-08-16
Cách cài đặt Python 3 và thiết lập môi trường lập trình cục bộ trên macOS
2019-08-16
Cách cài đặt Python 3 và thiết lập môi trường lập trình cục bộ trên macOS
2019-08-16
Cách cài đặt Python 3 và thiết lập môi trường lập trình trên Debian 10
2019-08-05
Cách cài đặt bản phân phối Python Anaconda trên Debian 10
2019-07-09
Cách cài đặt Phân phối Python Anaconda trên Ubuntu 18.04
2019-04-18
Cách áp dụng thị giác máy tính để xây dựng bộ lọc chó dựa trên cảm xúc trong Python 3
2019-04-03
Cách phát hiện và trích xuất khuôn mặt từ một image bằng OpenCV và Python
2019-03-27
Cách tạo bộ phân loại học máy bằng Python với Scikit-learning
2019-03-24
Cách thiết lập sổ tay Jupyter cho Python 3
2019-03-21