Lập trình viên làm việc trên các dòng laptop thế hệ mới thường phải xử lý đồng thời dịch vụ backend Python và frontend Node.js. Việc cài trực tiếp các phiên bản này vào hệ thống Windows hoặc WSL dễ gây ra xung đột phiên bản và làm ô nhiễm đường dẫn PATH.
Quản lý phiên bản bằng pyenv và nvm trong WSL
Thói quen dùng bản cài đặt hệ thống dễ tạo ra lỗi xung đột giữa pip và pip3 hoặc ghi đè thư viện global. Giải pháp kỹ thuật chuẩn là cô lập hoàn toàn môi trường thông qua pyenv và nvm trên nền WSL2.
Thực hiện các lệnh sau trong terminal WSL để cài đặt bộ công cụ:
# Cài đặt thư viện phụ thuộc và pyenv
sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev libffi-dev
curl https://pyenv.run | bash
# Thêm cấu hình vào ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
# Cài đặt phiên bản Python và Node.js mong muốn
pyenv install 3.11.8
pyenv global 3.11.8
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20
Tối ưu bộ nhớ 16GB RAM: Virtualenv hay Conda?
Vấn đề phổ biến khi dùng Anaconda là môi trường base tự động kích hoạt, chiếm dụng hàng trăm MB bộ nhớ ngay khi mở terminal. Trên hệ thống có 16GB RAM, Anaconda tạo ra sự lãng phí tài nguyên không cần thiết khi chạy song song với ứng dụng Node.js và Jupyter Lab.
So với Conda, cấu hình pyenv kết hợp virtualenv có dung lượng nhẹ hơn nhiều. virtualenv chỉ cô lập các gói phụ thuộc cần thiết cho dự án thay vì tải sẵn hàng loạt thư viện khoa học dữ liệu mặc định.
Cấu hình môi trường ảo gọn nhẹ và khởi tạo Jupyter Lab:
python -m venv .venv
source .venv/bin/activate
pip install jupyterlab
jupyter lab --no-browser --port=8888
Vấn đề thực tế thường gặp là xung đột PATH khi gọi trực tiếp câu lệnh pip. Khi quên kích hoạt môi trường ảo, lệnh pip sẽ ghi nhầm package vào Python hệ thống. Thói quen sử dụng python -m pip giúp đảm bảo gói luôn được cài chính xác vào venv đang làm việc.
Đối với lập trình viên làm việc cường độ cao trên màn hình IDE tối màu, các thiết bị trang bị hai lớp phát quang nối tiếp qua lớp CGL giúp giảm tải nhiệt sub-pixel và chống lưu ảnh thanh công cụ tĩnh, bạn có thể xem bài viết chi tiết về nguyên lý hiển thị này.
- Nên dùng:
pyenv+nvmphối hợpvirtualenvđể giữ hệ thống sạch và tối ưu RAM. - Cần cân nhắc: Chỉ chọn Conda khi dự án yêu cầu các thư viện C/C++ nhị phân phức tạp.
Top comments (0)