Bỏ qua

Các gói của bên thứ ba trong thuật toán Python

Khi xây dựng cBot, chỉ báo hoặc plugin dựa trên Python cho cTrader, bạn có thể cần sử dụng các gói của bên thứ ba như pandas, numpy hoặc các thư viện khác. Hướng dẫn này chỉ cho bạn cách khai báo các phụ thuộc như vậy trong tệp requirements.txt, điều này đảm bảo thuật toán của bạn chạy đúng cách trên các môi trường khác nhau.

Thiết lập tệp và quy tắc

requirements.txt là một tệp văn bản thuần túy được sử dụng để chỉ định các gói Python bên ngoài mà một dự án cần. Tệp requirements.txt của bạn nên tuân theo các quy tắc sau:

  • Tệp phải được đặt tên chính xác là requirements.txt
  • Tệp phải được đặt ở thư mục gốc của dự án, cùng với tệp Python chính của bạn (ví dụ: Super cBot_main.py).
  • Tệp nên được bao gồm trong các tệp dự án để nó được đóng gói cùng với thuật toán.

Khi tệp requirements.txt đã có mặt và được định dạng đúng cách, chỉ cần xây dựng dự án của bạn, và tất cả các phụ thuộc được liệt kê sẽ được thêm vào và giải quyết tự động. Đây là một ví dụ:

...\Documents\cAlgo\Sources\Robots\Super cBot\Super cBot

Image title

1
2
pandas==2.2.2
numpy>=1.26.4

Các tính năng được hỗ trợ

Định dạng requirements.txt tuân theo các quy ước tiêu chuẩn được sử dụng bởi pip. Các ví dụ sau đây minh họa cách chỉ định phiên bản gói bằng cách sử dụng bộ chỉ định phiên bản, thêm nhận xét và sử dụng dòng trống để dễ đọc:

Cố định một phiên bản chính xác

1
pandas==2.2.2

Cho phép phiên bản tối thiểu

1
numpy>=1.26.4

Sử dụng nhận xét và dòng trống

1
2
3
4
5
# Data science libraries
pandas==2.2.2
numpy>=1.26.4

# You can leave blank lines for readability

Thực hành tốt nhất

  1. Cố định các thư viện quan trọng để tránh hành vi không mong muốn khi các bản phát hành mới gây ra các thay đổi đột phá.
  2. Nếu bạn sử dụng bộ chỉ định phạm vi cho các gói ít quan trọng hơn, hãy kiểm tra thuật toán của bạn mỗi khi phụ thuộc được cập nhật.
  3. Cân nhắc viết nhận xét có ý nghĩa để giải thích tại sao một số gói được sử dụng hoặc tại sao các phiên bản cụ thể được chọn.
  4. Xây dựng lại dự án của bạn mỗi khi bạn chỉnh sửa requirements.txt để đảm bảo các phụ thuộc được cài đặt chính xác.

Image title