- Hiệu năng hay khả năng tương thích với Python không phải là điểm khác biệt của uv. uv tuân thủ các PEP và có thể được khuyến nghị như một trình quản lý gói cho Python. Tuy nhiên, tính năng đáng kinh ngạc nhất lại là thứ khác.
- Khi viết script ad-hoc trong Python 3.12, đôi khi bạn cần thêm các phụ thuộc như Pandas. Cách thông thường là như sau:
- Chạy
pip install pandas để thay đổi môi trường toàn cục, hoặc
- Tạo môi trường ảo, chạy
pip install pandas, kích hoạt môi trường ảo rồi chạy Python.
- Nếu cần một phiên bản Python khác, bạn phải dùng
pyenv để cài phiên bản đó và đặt nó cho thư mục cục bộ. Trường hợp tệ nhất:
pyenv install 3.12
pyenv local 3.12
python -m venv .venv
source .venv/bin/activate
pip install pandas
python
- Với uv, tất cả chỉ cần một dòng lệnh duy nhất:
uv run --python 3.12 --with pandas python
- Dễ nhớ và không để lại dấu vết. Chúc viết script vui vẻ!
5 bình luận
Tôi vẫn còn đang dùng poetry, nhưng có lẽ cũng nên dần chuyển sang thôi. Chắc cả virtualenv wrapper cũng sẽ phải tạm biệt.
Có lẽ đúng là đã đến lúc bỏ
piprồi.Ngoại trừ việc mỗi lần
initthì nó lại kéo theo một đống thứ không cần thiết, còn lại tôi đều rất hài lòng và đang dùnguvrất ổn.Tính năng killer của Uv là giúp tạo môi trường ad-hoc một cách dễ dàng
Ý kiến trên Hacker News
Có ý kiến cho rằng họ rất thích trình quản lý gói
uvvà mong nó trở thành tiêu chuẩn của cộng đồng. Đặc biệt, đây là công cụ đáng để giới thiệu cho người dùng mớiuvhỗ trợ các phụ thuộc script nội tuyến của PEP 723, giúp việc sử dụng gọn gàng hơnVới tư cách là lập trình viên NodeJS, có người ngạc nhiên rằng vấn đề thiết lập môi trường của Python vẫn chưa được giải quyết. Node cũng không hoàn hảo, nhưng không phải lo về việc chỉnh sửa môi trường toàn cục
Không cần kích hoạt
virtualenv, và có thể tạo môi trường ảo trực tiếp mà không cần cấu hình trình thông dịchpyenvCó ý kiến cho rằng việc gộp nhiều chức năng vào một lần chạy công cụ duy nhất của
uvlà bất tiện. Việc kích hoạtvenvrồi chạy chương trình nhiều lần sẽ tiện hơnuvbao gồm lệnhuvx, cho phép chạy script Python mà không cần cài đặt thủ cônguvx --from 'huggingface_hub[cli]' huggingface-cliCó người thích
uvvà muốn sớm dùng thử, nhưng nói rằng họ không hiểu trọng tâm của bài viết. Vớipyenvvàpoetrycũng có thể dùng các phụ thuộc cục bộKhi có thêm các phụ thuộc nhị phân khác, dùng Nix cùng
virtualenv+pip-toolscó thể là lựa chọn tốt hơnCó ý kiến cho rằng trước tiên cần kích hoạt môi trường ảo ở "đúng đường dẫn" rồi mới cài đặt
pandas