Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Sử dụng Poetry để quản lý dependencies trong Python
Python có các công cụ như venv
và pyenv
giúp quản lý phiên bản môi trường và phiên bản interpreter. Tuy nhiên, không có công cụ mặc định cho việc quản lý dependencies trong Python, vì vậy các công cụ bên thứ ba như Poetry được sử dụng phổ biến.
Bài viết này sẽ hướng dẫn bạn cách cài đặt và sử dụng Poetry để quản lý dependencies trong các dự án Python.
Cài đặt Poetry trong Python
Để cài đặt Poetry, bạn chạy lệnh sau trong terminal:
Đối với người dùng Linux, MacOS, hoặc bash trên Windows:
Bài viết này được đăng tại [free tuts .net]
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
Đối với người dùng Windows PowerShell:
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
Sau khi cài đặt, bạn có thể kiểm tra phiên bản của Poetry bằng cách mở terminal và gõ lệnh:
poetry --version
Tạo dự án với Poetry
Để tạo một dự án mới, sử dụng lệnh:
poetry new ten-du-an
Lệnh này sẽ tạo một thư mục dự án với cấu trúc như sau:
ten-du-an ├── ten_du_an │ └── __init__.py ├── pyproject.toml ├── README.rst └── tests ├── __init__.py └── test_ten_du_an.py
Nếu bạn đã có sẵn một dự án, hãy dùng lệnh poetry init
để khởi tạo Poetry.
Quản lý dependencies với Poetry trong Python
Poetry sử dụng tệp pyproject.toml
để lưu thông tin về dự án, phiên bản Python, dependencies phát triển, và các gói bên ngoài. Để đảm bảo tính nhất quán của các phiên bản dependencies, Poetry cũng tạo một tệp poetry.lock
, lưu trữ các phiên bản cụ thể của từng package.
Việc lưu trữ phiên bản giúp Poetry giải quyết các xung đột dependencies và cài đặt chính xác các phiên bản giống nhau khi dự án được cài đặt lại.
Quản lý môi trường ảo (Virtual Environment) với Poetry
Một trong những tính năng chính của Poetry là quản lý môi trường ảo để cô lập runtime của dự án. Nếu bạn đang dùng Poetry trong một môi trường ảo, Poetry sẽ sử dụng môi trường đó, nếu không thì nó sẽ tự động tạo một môi trường ảo mới.
Liệt kê các môi trường ảo có sẵn:
poetry env list
Tạo và chọn phiên bản Python cụ thể:
poetry env use 3.6
Xóa môi trường ảo:
poetry env remove ten-moi-truong
Thêm gói (package) với Poetry
Để thêm gói mới, bạn sử dụng lệnh poetry add
. Lệnh này sẽ cập nhật cả pyproject.toml
và poetry.lock
. Ví dụ:
-
Thêm phiên bản cụ thể của gói:
poetry add pendulum@^2.0.5 poetry add "pendulum>=2.0.5" poetry add pendulum==2.0.5
Thêm nhiều gói một lúc:
poetry add pandas numpy matplotlib
Xóa gói với Poetry
Để xóa một gói, bạn chỉ cần dùng lệnh poetry remove
. Poetry sẽ tự động loại bỏ các dependencies không còn được sử dụng nữa và cập nhật các tệp.
poetry remove pandas