Jupyter Notebook là một ứng dụng web nguồn mở mà bạn có thể sử dụng để tạo và chia sẻ tài liệu có chứa mã trực tiếp, phương trình, trực quan hóa và văn bản. Jupyter Notebook được duy trì bởi những người tại Dự án Jupyter
Jupyter Notebooks là một dự án phụ từ dự án IPython, dự án này đã từng có một dự án IPython Notebook. Tên, Jupyter, xuất phát từ các ngôn ngữ lập trình được hỗ trợ cốt lõi mà nó hỗ trợ. Julia, Python và R. Jupyter cung cấp nhân IPython, cho phép bạn viết chương trình của mình bằng Python, nhưng hiện có hơn 100 nhân khác mà bạn cũng có thể sử dụng
Tiền thưởng miễn phí. 5 Suy nghĩ về Làm chủ Python, một khóa học miễn phí dành cho các nhà phát triển Python cho bạn thấy lộ trình và tư duy mà bạn sẽ cần để đưa các kỹ năng Python của mình lên một tầm cao mới
Bắt đầu và chạy với Jupyter Notebook
Jupyter Notebook không được bao gồm trong Python, vì vậy nếu bạn muốn dùng thử, bạn sẽ cần cài đặt Jupyter
Có nhiều bản phân phối của ngôn ngữ Python. Bài viết này sẽ chỉ tập trung vào hai trong số chúng cho mục đích cài đặt Jupyter Notebook. Phổ biến nhất là CPython, đây là phiên bản tham khảo của Python mà bạn có thể lấy từ trang web của họ. Người ta cũng cho rằng bạn đang sử dụng Python 3
Loại bỏ các quảng cáoCài đặt
Nếu vậy, bạn có thể sử dụng một công cụ tiện dụng đi kèm với Python có tên là pip để cài đặt Jupyter Notebook như thế này
$ pip install jupyter
Bản phân phối Python phổ biến tiếp theo là Anaconda. Anaconda có công cụ cài đặt riêng gọi là conda mà bạn có thể sử dụng để cài đặt gói của bên thứ ba. Tuy nhiên, Anaconda đi kèm với nhiều thư viện khoa học được cài đặt sẵn, bao gồm cả Jupyter Notebook, vì vậy bạn thực sự không cần phải làm gì khác ngoài việc tự cài đặt Anaconda
Khởi động Máy chủ Máy tính xách tay Jupyter
Bây giờ bạn đã cài đặt Jupyter, hãy tìm hiểu cách sử dụng nó. Để bắt đầu, tất cả những gì bạn cần làm là mở ứng dụng đầu cuối của mình và chuyển đến thư mục bạn chọn. Tôi khuyên bạn nên sử dụng một cái gì đó như thư mục Tài liệu của bạn để bắt đầu và tạo một thư mục con ở đó có tên là Sổ ghi chép hoặc một cái gì đó khác dễ nhớ
Sau đó, chỉ cần đi đến vị trí đó trong thiết bị đầu cuối của bạn và chạy lệnh sau
$ jupyter notebook
Điều này sẽ khởi động Jupyter và trình duyệt mặc định của bạn sẽ bắt đầu [hoặc mở một tab mới] tới URL sau. http. //máy chủ cục bộ. 8888/cây
Trình duyệt của bạn bây giờ sẽ trông giống như thế này
Lưu ý rằng hiện tại bạn không thực sự chạy Notebook mà thay vào đó bạn chỉ đang chạy máy chủ Notebook. Hãy thực sự tạo một Notebook ngay bây giờ
Tạo sổ ghi chép
Bây giờ bạn đã biết cách khởi động máy chủ Notebook, có lẽ bạn nên tìm hiểu cách tạo một tài liệu Notebook thực sự
Tất cả những gì bạn cần làm là nhấp vào nút Mới [phía trên bên phải] và nó sẽ mở ra một danh sách các lựa chọn. Trên máy của tôi, tôi tình cờ cài đặt Python 2 và Python 3, vì vậy tôi có thể tạo Notebook sử dụng một trong hai thứ này. Để đơn giản, hãy chọn Python 3
Trang web của bạn bây giờ trông như thế này
đặt tên
Bạn sẽ nhận thấy rằng ở đầu trang là từ Untitled. Đây là tiêu đề cho trang và tên Notebook của bạn. Vì đó không phải là một cái tên rất mô tả, hãy thay đổi nó
Chỉ cần di chuột qua từ Chưa có tiêu đề và nhấp vào văn bản. Bây giờ, bạn sẽ thấy một hộp thoại trong trình duyệt có tiêu đề Đổi tên Notebook. Hãy đổi tên cái này thành Hello Jupyter
chạy ô
Một ô của Notebook mặc định sử dụng mã bất cứ khi nào bạn tạo mã lần đầu tiên và ô đó sử dụng kernel mà bạn đã chọn khi khởi động Notebook của mình
Trong trường hợp này, bạn đã bắt đầu chương trình của mình với Python 3 làm nhân, điều đó có nghĩa là bạn có thể viết mã Python trong các ô mã của mình. Vì Notebook ban đầu của bạn chỉ có một ô trống trong đó nên Notebook thực sự không thể làm được gì
Do đó, để xác minh rằng mọi thứ đang hoạt động bình thường, bạn có thể thêm một số mã Python vào ô và thử chạy nội dung của nó
Hãy thử thêm đoạn mã sau vào ô đó
print['Hello Jupyter!']
Chạy một ô có nghĩa là bạn sẽ thực thi nội dung của ô. Để thực thi một ô, bạn chỉ cần chọn ô đó và nhấp vào nút Chạy nằm trong hàng nút ở trên cùng. Nó hướng về giữa. Nếu muốn sử dụng bàn phím, bạn chỉ cần nhấn Shift + Enter .
Khi tôi chạy đoạn mã trên, đầu ra trông như thế này
Nếu bạn có nhiều ô trong Sổ ghi chép của mình và bạn chạy các ô theo thứ tự, bạn có thể chia sẻ các biến và nhập giữa các ô. Điều này giúp dễ dàng tách mã của bạn thành các đoạn logic mà không cần nhập lại thư viện hoặc tạo lại các biến hoặc hàm trong mỗi ô
Khi bạn chạy một ô, bạn sẽ nhận thấy rằng có một số dấu ngoặc vuông bên cạnh từ In ở bên trái của ô. Các dấu ngoặc vuông sẽ tự động điền một số cho biết thứ tự mà bạn đã chạy các ô. Ví dụ: nếu bạn mở Notebook mới và chạy ô đầu tiên ở đầu Notebook, dấu ngoặc vuông sẽ điền số 1
thực đơn
Jupyter Notebook có một số menu mà bạn có thể sử dụng để tương tác với Notebook của mình. Menu chạy dọc phía trên Notebook giống như các menu trong các ứng dụng khác. Dưới đây là danh sách các menu hiện tại
- Tập tin
- Chỉnh sửa
- Lượt xem
- Chèn
- Tế bào
- hạt nhân
- tiện ích
- Cứu giúp
Hãy đi qua từng menu một. Bài viết này sẽ không đi vào chi tiết từng tùy chọn trong mỗi menu mà sẽ tập trung vào các mục duy nhất của ứng dụng Notebook
Menu đầu tiên là menu File. Trong đó, bạn có thể tạo Notebook mới hoặc mở Notebook có sẵn. Đây cũng là nơi bạn sẽ đến để đổi tên Notebook. Tôi nghĩ mục menu thú vị nhất là tùy chọn Lưu và Điểm kiểm tra. Điều này cho phép bạn tạo các điểm kiểm tra mà bạn có thể quay lại nếu cần
Tiếp theo là menu Chỉnh sửa. Tại đây bạn có thể cắt, sao chép và dán các ô. Đây cũng là nơi bạn sẽ đến nếu muốn xóa, tách hoặc hợp nhất một ô. Bạn cũng có thể sắp xếp lại các ô ở đây
Lưu ý rằng một số mục trong menu này bị mờ đi. Lý do cho điều này là chúng không áp dụng cho ô hiện được chọn. Ví dụ: một ô mã không thể chèn hình ảnh vào đó, nhưng một ô Markdown có thể. Nếu bạn thấy một mục menu chuyển sang màu xám, hãy thử thay đổi loại ô và xem liệu mục đó có sẵn để sử dụng không
Menu Xem hữu ích để chuyển đổi mức độ hiển thị của tiêu đề và thanh công cụ. Bạn cũng có thể bật hoặc tắt Số dòng trong các ô. Đây cũng là nơi bạn sẽ đến nếu muốn loay hoay với thanh công cụ của ô
Menu Chèn chỉ để chèn các ô bên trên hoặc bên dưới ô hiện được chọn
Menu Ô cho phép bạn chạy một ô, một nhóm ô hoặc tất cả các ô. Bạn cũng có thể vào đây để thay đổi loại ô, mặc dù cá nhân tôi thấy thanh công cụ trực quan hơn cho việc đó
Tính năng hữu ích khác trong menu này là khả năng xóa đầu ra của một ô. Nếu bạn định chia sẻ Notebook của mình với người khác, có thể bạn sẽ muốn xóa đầu ra trước để người tiếp theo có thể tự chạy các ô
Ô Kernel dùng để làm việc với kernel đang chạy ngầm. Tại đây, bạn có thể khởi động lại hạt nhân, kết nối lại với hạt nhân, tắt hạt nhân hoặc thậm chí thay đổi hạt nhân mà Notebook của bạn đang sử dụng
Có thể bạn sẽ không làm việc với Kernel thường xuyên, nhưng có những lúc bạn đang gỡ lỗi Notebook mà bạn sẽ thấy rằng mình cần phải khởi động lại Kernel. Khi điều đó xảy ra, đây là nơi bạn sẽ đến
Menu Widgets dùng để lưu và xóa trạng thái widget. Các widget về cơ bản là các widget JavaScript mà bạn có thể thêm vào các ô của mình để tạo nội dung động bằng Python [hoặc Kernel khác]
Cuối cùng, bạn có menu Trợ giúp, đây là nơi bạn tìm hiểu về các phím tắt của Notebook, chuyến tham quan giao diện người dùng và nhiều tài liệu tham khảo
Loại bỏ các quảng cáoThiết bị đầu cuối khởi động và những thứ khác
Jupyter Notebook cũng cho phép bạn bắt đầu nhiều thứ hơn là chỉ Notebooks. Bạn cũng có thể tạo tệp văn bản, thư mục hoặc Terminal trong trình duyệt của mình. Quay lại trang chủ đã mở khi bạn khởi động máy chủ Jupyter lần đầu tiên tại
$ jupyter notebook
4. Chuyển đến nút Mới và chọn một trong các tùy chọn khácTerminal có lẽ là phần thú vị nhất trong nhóm, vì nó đang chạy terminal hệ điều hành của bạn trong trình duyệt. Điều này cho phép bạn chạy bash, Powershell, v.v. trong trình duyệt của mình và chạy bất kỳ lệnh trình bao nào mà bạn có thể cần ở đó
Xem những gì đang chạy
Ngoài ra trên trang chủ của máy chủ Jupyter của bạn [
$ jupyter notebook
4] còn có hai tab khác. Chạy và cụmTab Đang chạy sẽ cho bạn biết Notebook và Thiết bị đầu cuối nào bạn hiện đang chạy. Điều này hữu ích khi bạn muốn tắt máy chủ của mình nhưng bạn cần đảm bảo rằng bạn đã lưu tất cả dữ liệu của mình. May mắn thay, Notebook tự động lưu khá thường xuyên nên bạn hiếm khi bị mất dữ liệu. Nhưng thật tốt khi có thể xem những gì đang chạy khi bạn cần
Một điều thú vị khác về tab này là bạn có thể duyệt qua các ứng dụng đang chạy của mình và tắt chúng ở đó
Thêm nội dung phong phú
Jupyter Notebook hỗ trợ thêm nội dung phong phú vào các ô của nó. Trong phần này, bạn sẽ có được cái nhìn tổng quan về một số điều bạn có thể làm với các ô của mình bằng cách sử dụng Đánh dấu và Mã
Các loại tế bào
Về mặt kỹ thuật có bốn loại tế bào. Mã, Markdown, NBConvert thô và Tiêu đề
Loại ô Tiêu đề không còn được hỗ trợ và sẽ hiển thị hộp thoại cho biết càng nhiều. Thay vào đó, bạn phải sử dụng Markdown cho Tiêu đề của mình
Loại ô NBConvert thô chỉ dành cho các trường hợp sử dụng đặc biệt khi sử dụng công cụ dòng lệnh
$ jupyter notebook
6. Về cơ bản, nó cho phép bạn kiểm soát định dạng theo một cách rất cụ thể khi chuyển đổi từ Notebook sang định dạng khácCác loại ô chính mà bạn sẽ sử dụng là các loại ô Code và Markdown. Bạn đã học cách hoạt động của các ô mã, vì vậy, hãy tìm hiểu cách tạo kiểu cho văn bản của bạn với Markdown
Tạo kiểu cho văn bản của bạn
Jupyter Notebook hỗ trợ Markdown, đây là ngôn ngữ đánh dấu là siêu bộ của HTML. Hướng dẫn này sẽ trình bày một số điều cơ bản về những gì bạn có thể làm với Markdown
Đặt ô mới thành Markdown rồi thêm văn bản sau vào ô
Khi bạn chạy ô, đầu ra sẽ như thế này
Nếu bạn muốn in đậm văn bản của mình, hãy sử dụng dấu gạch dưới kép hoặc dấu hoa thị kép
Loại bỏ các quảng cáotiêu đề
Tạo tiêu đề trong Markdown cũng khá đơn giản. Bạn chỉ cần sử dụng dấu thăng khiêm tốn. Bạn càng sử dụng nhiều dấu thăng, tiêu đề càng nhỏ. Jupyter Notebook thậm chí còn xem trước nó cho bạn
Sau đó, khi bạn chạy ô, bạn sẽ có một tiêu đề được định dạng đẹp mắt
Tạo danh sách
Bạn có thể tạo danh sách [dấu đầu dòng] bằng cách sử dụng dấu gạch ngang, dấu cộng hoặc dấu hoa thị. Đây là một ví dụ
Làm nổi bật mã và cú pháp
Nếu bạn muốn chèn một mã ví dụ mà bạn không muốn người dùng cuối thực sự chạy, bạn có thể sử dụng Markdown để chèn mã đó. Để đánh dấu mã nội tuyến, chỉ cần bao quanh mã bằng các dấu gạch ngược. Nếu bạn muốn chèn một khối mã, bạn có thể sử dụng dấu ba dấu ngược và cũng chỉ định ngôn ngữ lập trình
Xuất sổ tay
Khi bạn đang làm việc với Jupyter Notebooks, bạn sẽ thấy rằng bạn cần chia sẻ kết quả của mình với những người không chuyên về kỹ thuật. Khi điều đó xảy ra, bạn có thể sử dụng công cụ
$ jupyter notebook
6 đi kèm với Jupyter Notebook để chuyển đổi hoặc xuất Notebook của mình sang một trong các định dạng sau- HTML
- Mủ cao su
- RevealJS
- đánh dấu
- Văn bản được cấu trúc lại
- tập lệnh thực thi
Công cụ
$ jupyter notebook
6 sử dụng các mẫu Jinja dưới bìa để chuyển đổi các tệp Sổ ghi chép của bạn [$ jupyter notebook
2] sang các định dạng khác nàyJinja là một công cụ mẫu được tạo cho Python. Cũng lưu ý rằng
$ jupyter notebook
6 cũng phụ thuộc vào Pandoc và TeX để có thể xuất sang tất cả các định dạng trên. Nếu bạn không có một hoặc nhiều trong số này, một số loại xuất có thể không hoạt động. Để biết thêm thông tin, bạn nên xem tài liệuCách sử dụng $ jupyter notebook
6
$ jupyter notebook
Lệnh
$ jupyter notebook
6 không có nhiều tham số, giúp cho việc học cách sử dụng nó dễ dàng hơn. Mở một thiết bị đầu cuối và điều hướng đến thư mục chứa Notebook mà bạn muốn chuyển đổi. Lệnh chuyển đổi cơ bản trông như thế này$ jupyter nbconvert --to
Ví dụ sử dụng
Hãy giả sử rằng bạn có một Notebook tên là
$ jupyter notebook
6 và bạn muốn chuyển đổi nó thành PDF. Đây là lệnh bạn sẽ sử dụng để làm điều đó$ jupyter nbconvert py_examples.ipynb --to pdf
Khi bạn chạy lệnh này, bạn sẽ thấy một số đầu ra cho bạn biết về quá trình chuyển đổi.
$ jupyter notebook
6 sẽ hiển thị các cảnh báo và lỗi nếu có bất kỳ. Giả sử mọi thứ diễn ra theo đúng kế hoạch, bây giờ bạn sẽ có tệp $ jupyter notebook
8 trong thư mục của mìnhQuá trình chuyển đổi cho các loại tệp khác khá giống nhau. Bạn chỉ cần cho
$ jupyter notebook
6 biết loại cần chuyển đổi [PDF, Markdown, HTML, v.v.]Sử dụng thực đơn
Bạn cũng có thể xuất Notebook hiện đang chạy của mình bằng cách đi tới menu Tệp và chọn tùy chọn Tải xuống dưới dạng
Tùy chọn này cho phép bạn tải xuống ở tất cả các định dạng mà
$ jupyter notebook
6 hỗ trợ. Lợi ích của việc sử dụng menu là bạn hoàn toàn không cần học $ jupyter notebook
6 nếu bạn không muốn. Tuy nhiên, tôi khuyên bạn nên làm như vậy vì bạn có thể sử dụng $ jupyter notebook
6 để xuất nhiều Sổ ghi chép cùng một lúc, đây là điều mà menu không hỗ trợPhần mở rộng máy tính xách tay
Mặc dù Máy tính xách tay Jupyter có rất nhiều chức năng được tích hợp sẵn, nhưng bạn có thể thêm chức năng mới thông qua tiện ích mở rộng. Jupyter thực sự hỗ trợ bốn loại tiện ích mở rộng
- hạt nhân
- hạt nhân IPython
- Sổ tay
- Máy chủ máy tính xách tay
Hướng dẫn này sẽ tập trung vào các tiện ích mở rộng Notebook
Tiện ích mở rộng là gì?
Phần mở rộng Notebook [
print['Hello Jupyter!']
3] là một mô-đun JavaScript mà bạn tải vào hầu hết các chế độ xem trong giao diện người dùng của Notebook. Nếu bạn thông thạo JavaScript, bạn thậm chí có thể viết tiện ích mở rộng của riêng mình. Tiện ích mở rộng có thể truy cập DOM của trang và API JavaScript JupyterTôi có thể lấy tiện ích mở rộng ở đâu?
Bạn có thể sử dụng Google hoặc tìm kiếm tiện ích mở rộng Jupyter Notebook. Thực sự có khá nhiều ngoài kia. Một trong những bộ tiện ích mở rộng phổ biến nhất được gọi là jupyter_contrib_nbextensions, bạn có thể lấy từ GitHub. Đây thực sự là một tập hợp các tiện ích mở rộng được cung cấp bởi cộng đồng Jupyter và được cài đặt với
print['Hello Jupyter!']
4Làm cách nào để tôi cài đặt chúng?
Hầu hết các tiện ích mở rộng Jupyter Notebook có thể được cài đặt bằng công cụ
print['Hello Jupyter!']
4 của Python. Nếu bạn tìm thấy tiện ích mở rộng không thể cài đặt với print['Hello Jupyter!']
4, thì có thể bạn sẽ phải sử dụng lệnh sau$ jupyter notebook
2Điều này chỉ cài đặt tiện ích mở rộng nhưng không kích hoạt nó. Bạn sẽ cần kích hoạt tiện ích mở rộng sau khi cài đặt bằng cách chạy lệnh sau
$ jupyter notebook
3Bạn có thể cần phải khởi động lại kernel Jupyter Notebook của mình để xem tiện ích mở rộng
Có một tiện ích mở rộng meta đẹp có tên là Trình cấu hình Jupyter NbExtensions đáng để quản lý các tiện ích mở rộng khác. Nó cho phép bạn bật và tắt các tiện ích mở rộng của mình từ bên trong giao diện người dùng của Jupyter Notebook và cũng hiển thị tất cả các tiện ích mở rộng hiện được cài đặt
Phần kết luận
Jupyter Notebook khá hữu ích không chỉ cho việc học và dạy một ngôn ngữ lập trình như Python mà còn để chia sẻ dữ liệu của bạn
Bạn có thể biến Notebook của mình thành trình chiếu hoặc chia sẻ trực tuyến với GitHub. Nếu bạn muốn chia sẻ Sổ ghi chép mà không yêu cầu người dùng của mình cài đặt bất kỳ thứ gì, bạn có thể sử dụng chất kết dính cho điều đó
Google và Microsoft đều có phiên bản Notebook riêng mà bạn có thể sử dụng để tạo và chia sẻ Notebook của mình tại Google Colaboratory và Microsoft Azure Notebooks tương ứng. Bạn cũng có thể duyệt các Notebook thực sự thú vị ở đó
Dự án Jupyter gần đây đã ra mắt sản phẩm mới nhất của họ, JupyterLab. JupyterLab kết hợp Jupyter Notebook vào Trình chỉnh sửa loại Phát triển Tích hợp mà bạn chạy trong trình duyệt của mình. Bạn có thể nghĩ về JupyterLab như một phiên bản nâng cao của Jupyter Notebook. JupyterLab cho phép bạn chạy thiết bị đầu cuối, trình soạn thảo văn bản và bảng điều khiển mã trong trình duyệt của bạn ngoài Notebook
Như mọi khi, tốt nhất bạn nên tự mình dùng thử một phần mềm mới để xem nó có phù hợp với bạn và có đáng để sử dụng không. Tôi khuyến khích bạn thử dùng Jupyter Notebook hoặc JupyterLab và xem bạn nghĩ gì
Loại bỏ các quảng cáoĐọc thêm
Nếu bạn muốn tìm hiểu thêm về Jupyter Notebook, bạn có thể dành chút thời gian và đọc tài liệu tuyệt vời của họ
Để biết thêm thông tin về Môi trường phát triển tích hợp, bạn có thể muốn xem các bài viết sau
- Python IDE và Trình chỉnh sửa mã [Hướng dẫn]
- Thonny. Trình chỉnh sửa Python thân thiện với người mới bắt đầu
Đánh dấu là đã hoàn thành
Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Sử dụng Máy tính xách tay Jupyter
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về Mike Driscoll
Mike đã lập trình bằng Python hơn một thập kỷ và thích viết về Python
» Thông tin thêm về MikeMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
Joanna
Kyle
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi