Nếu bạn là một lập trình viên, đặc biệt trong lĩnh vực khoa học dữ liệu hay phân tích, chắc hẳn bạn đã từng gặp phải những rắc rối đau đầu với việc quản lý các gói phần mềm trên hệ điều hành Linux. Sự xung đột phiên bản giữa các gói cần thiết cho dự án của bạn và các gói hệ thống có thể gây ra nhiều phiền toái. Vậy sẽ thế nào nếu có một cách để bạn sở hữu môi trường lập trình riêng biệt cho từng dự án, hoàn toàn cô lập khỏi hệ thống mà không cần đến máy ảo? Mamba chính là giải pháp mà bạn đang tìm kiếm. Nó không chỉ giúp giải quyết vấn đề quản lý gói mà còn mang lại hiệu suất vượt trội, tối ưu hóa quy trình làm việc của bạn.
Mamba là gì?
Giao diện trang GitHub chính thức của dự án Mamba, một trình quản lý gói hiệu quả cho khoa học dữ liệu và Python.
Mamba là một trình quản lý gói được thiết kế để sử dụng theo từng dự án cụ thể. Nó có chức năng tương tự như các trình quản lý gói bạn tìm thấy trên một hệ thống Linux hiện đại, nhưng thay vì quản lý phần mềm cho toàn bộ hệ thống, Mamba cho phép bạn tạo ra các môi trường riêng biệt chỉ chứa các gói bạn cần cho dự án của mình. Về bản chất, Mamba là một sự tái triển khai của trình quản lý gói Conda. Trong khi Conda ban đầu được viết bằng Python, Mamba đã được viết lại bằng C++ nhằm mục đích tăng cường tốc độ xử lý.
Mamba, giống như Conda, rất phổ biến trong các lĩnh vực khoa học dữ liệu, thống kê, thống kê sinh học và phân tích dữ liệu. Với cái tên mang hơi hướng chủ đề rắn (“Mamba” là một loại rắn cực độc nổi tiếng với tốc độ), có vẻ như cái tên này được chọn để thể hiện tốc độ đáng nể của nó, đúng như kỳ vọng về một phiên bản Conda nhanh hơn.
Mamba thực hiện nhiều chức năng mà bạn mong đợi ở một trình quản lý gói: tìm kiếm gói, cài đặt chúng và giữ chúng được cập nhật. Bạn có thể tạo ra các môi trường riêng biệt và kích hoạt hoặc hủy kích hoạt chúng tùy ý. Đặc biệt, bạn có thể cài đặt nhiều môi trường khác nhau trên cùng một máy mà không lo xung đột.
Tại sao nên sử dụng Mamba?
Nếu bạn đang sử dụng hệ thống Linux hoặc các hệ thống giống Unix khác để phát triển, bạn có thể tự hỏi tại sao lại cần một công cụ như Mamba khi đã có sẵn trình quản lý gói hệ thống.
Phần mềm được cài đặt thông qua trình quản lý gói của hệ thống thường dành cho toàn bộ hệ thống. Nhiều hệ thống bao gồm một trình thông dịch Python, nhưng nó chủ yếu để chạy các script và chương trình khác phụ thuộc vào Python, chứ không phải để hỗ trợ các dự án lập trình của riêng bạn. Nếu bạn cần một phiên bản Python mới hơn cho mã của mình so với phiên bản hệ thống cung cấp và bạn nâng cấp nó, các script và chương trình khác phụ thuộc vào phiên bản cũ hơn có thể bị lỗi.
Minh họa các môi trường phát triển cô lập trên hệ điều hành Linux, nhấn mạnh khả năng quản lý gói linh hoạt.
Mamba giải quyết vấn đề này bằng cách cho phép bạn tạo các môi trường riêng biệt cho từng tác vụ, cô lập hoàn toàn khỏi hệ thống cơ bản. Nếu bạn đang làm việc trong lĩnh vực khoa học dữ liệu hoặc phân tích, bạn có thể định nghĩa một môi trường chỉ dành riêng cho công việc của mình mà không làm ảnh hưởng đến hệ thống gốc. Bạn có thể kích hoạt môi trường của mình khi muốn thực hiện các tính toán và hủy kích hoạt nó khi hoàn thành. Điều này mang lại sự linh hoạt và ổn định tối đa cho quá trình phát triển dự án của bạn, giúp bạn tránh được những rủi ro về xung đột gói không đáng có.
Hướng dẫn cài đặt Mamba
Việc cài đặt Mamba khá đơn giản trên hầu hết các hệ thống giống Unix. Chúng tôi sẽ minh họa quá trình cài đặt Mamba trên hệ thống Debian Linux.
Bạn có thể làm theo các hướng dẫn đơn giản để tải xuống và cài đặt Mamba trực tiếp từ trang tài liệu của Mamba. Đầu tiên, bạn cần tải xuống bản phân phối Miniforge. Đây là một phiên bản Mamba tối thiểu chứa tất cả các tệp cơ bản bạn cần để bắt đầu.
Giả sử bạn đã cài đặt curl
, tất cả những gì bạn cần làm là dán một dòng lệnh để tải xuống trên một hệ thống giống Unix:
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
Màn hình terminal hiển thị lệnh curl để tải xuống Miniforge, gói cài đặt tối thiểu của Mamba.
Sau khi đã tải xuống, bạn có thể chạy script cài đặt:
bash Miniforge3-$(uname)-$(uname -m).sh
Terminal hiển thị script cài đặt Miniforge, yêu cầu người dùng nhấn Enter để tiếp tục quá trình.
Script sẽ yêu cầu bạn nhấn Enter
để tiếp tục, sau đó xem xét một số điều khoản cấp phép. Vì Mamba là mã nguồn mở, điều này có lẽ sẽ không thành vấn đề đối với bạn. Bạn sẽ phải gõ “yes” hoặc “no” để chấp nhận hoặc từ chối các điều khoản cấp phép. Để chấp nhận và tiếp tục cài đặt, hãy gõ “yes” tại dấu nhắc.
Sau đó, bạn sẽ phải xác nhận thư mục mà bạn muốn cài đặt các gói Conda của mình. Theo mặc định, nó sẽ nằm trong thư mục chính của bạn với một thư mục con là “miniforge”.
Khi Miniforge được cài đặt xong, bạn sẽ nhận được một lời nhắc chỉnh sửa script khởi động mặc định của shell (ví dụ: .bashrc
hoặc .zshrc
, tùy thuộc vào shell bạn đang sử dụng), để Mamba tự động khởi động khi bạn mở một shell mới. Bạn có thể sẽ muốn điều này nếu bạn có ý định làm việc với Mamba thường xuyên. Điều này sẽ giúp bạn dễ dàng kích hoạt và hủy kích hoạt các môi trường Mamba hơn. Hãy gõ “yes” một lần nữa để xác nhận.
Tạo môi trường với Mamba
Khi bạn mở một terminal mới, bạn có thể nhận thấy điều gì đó khác biệt trong dấu nhắc shell của mình. Bạn sẽ thấy một thứ gì đó có nội dung “(base)”. Điều này có nghĩa là Mamba đã được kích hoạt với môi trường cơ sở (base environment). Đây chính xác là những gì nó nghe có vẻ: một môi trường cơ sở tối thiểu. Bạn có thể kiểm tra điều này bằng cách gõ python
tại dấu nhắc. Trong thông báo giới thiệu, bạn có thể thấy rằng phiên bản Python này được “packaged by conda-forge”.
![Trình thông dịch Python đang chạy trong terminal Linux, được đóng gói bởi conda-forge trong môi trường Mamba “base”.](https://