Trong bài viết này, chúng ta sẽ thảo luận về cách sử dụng pyenvpyenv-virtualenv — hai công cụ mạnh mẽ giúp bạn quản lý nhiều phiên bản Python và môi trường ảo một cách dễ dàng. Chúng ta sẽ đề cập đến hướng dẫn cài đặt cho các nền tảng như Mac và Linux, đồng thời thảo luận về các tính năng được dùng thường xuyên nhất của các công cụ này. Đến cuối bài, bạn sẽ hiểu vững cách sử dụng các công cụ này hiệu quả trong quy trình phát triển.

I. Tổng quan

pyenv là công cụ quản lý phiên bản mạnh mẽ cho Python, cho phép bạn cài đặt và chuyển đổi giữa nhiều phiên bản Python một cách dễ dàng. pyenv-virtualenv là phần mở rộng của pyenv cho phép bạn quản lý nhiều môi trường ảo. Các công cụ này đặc biệt hữu ích khi làm việc với nhiều dự án có dependency và phiên bản Python khác nhau.

II. Cài đặt

Mac

Để cài đặt pyenvpyenv-virtualenv trên macOS, bạn có thể dùng Homebrew:

brew update
brew install pyenv
brew install pyenv-virtualenv

Sau khi cài đặt, thêm các dòng sau vào file cấu hình shell của bạn (.bashrc, .zshrc, v.v.):

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
if command -v pyenv-virtualenv-init 1>/dev/null 2>&1; then
  eval "$(pyenv virtualenv-init -)"
fi

Linux

Để cài đặt pyenvpyenv-virtualenv trên Linux, trước tiên clone các kho lưu trữ và thêm vào PATH:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Tiếp theo, thêm các dòng sau vào file cấu hình shell của bạn (.bashrc, .zshrc, v.v.):

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

III. Cách sử dụng

1. Cài đặt phiên bản Python

Để cài đặt một phiên bản Python cụ thể, dùng lệnh install:

pyenv install 3.9.5

2. Liệt kê các phiên bản Python có sẵn

Để xem tất cả các phiên bản Python đã cài đặt, dùng lệnh versions:

pyenv versions

3. Đặt phiên bản Python toàn cục

Để đặt phiên bản Python toàn cục, dùng lệnh global:

pyenv global 3.9.5

4. Đặt phiên bản Python cục bộ

Để đặt phiên bản Python cục bộ cho một dự án cụ thể, dùng lệnh local trong thư mục dự án:

pyenv local 3.8.10

5. Kiểm tra phiên bản Python hiện tại

Để kiểm tra phiên bản Python hiện tại, dùng lệnh version:

pyenv version

6. Tạo môi trường ảo

Để tạo môi trường ảo mới với pyenv-virtualenv, dùng lệnh virtualenv:

pyenv virtualenv 3.9.5 my-project-env

7. Kích hoạt môi trường ảo

Để kích hoạt một môi trường ảo, dùng lệnh activate:

pyenv activate my-project-env

8. Hủy kích hoạt môi trường ảo

Để hủy kích hoạt môi trường ảo hiện tại, dùng lệnh deactivate:

pyenv deactivate

9. Liệt kê các môi trường ảo có sẵn

Để liệt kê tất cả các môi trường ảo bạn đã tạo, dùng lệnh virtualenvs:

pyenv virtualenvs

10. Xóa môi trường ảo

Để xóa một môi trường ảo, dùng lệnh uninstall:

pyenv uninstall my-project-env

Bonus: Rehash

Mỗi khi bạn cài đặt một gói Python mới có script thực thi, điều cần thiết là chạy lệnh rehash để cập nhật các shim, đảm bảo các script mới có thể được sử dụng:

pyenv rehash

IV. Kết luận

pyenvpyenv-virtualenv là các công cụ vô giá để quản lý nhiều phiên bản Python và môi trường ảo trong quy trình phát triển. Với các tính năng được thảo luận trong hướng dẫn này, bạn sẽ được trang bị tốt để làm việc trên nhiều dự án với dependency và phiên bản Python khác nhau. Hãy tận dụng các công cụ này để duy trì môi trường phát triển sạch và có tổ chức, nâng cao năng suất và giảm rủi ro xung đột dependency.