Pakej pihak ketiga dalam algoritma Python
Apabila membina cBot, indikator atau plugin berasaskan Python untuk cTrader, anda mungkin perlu menggunakan pakej pihak ketiga seperti pandas, numpy atau perpustakaan lain. Panduan ini menunjukkan cara untuk mengisytiharkan kebergantungan sedemikian dalam fail requirements.txt, yang memastikan algoritma anda berjalan dengan betul merentasi persekitaran.
Persediaan fail dan peraturan
requirements.txt ialah fail teks biasa yang digunakan untuk menentukan pakej Python luaran yang diperlukan oleh projek. Fail requirements.txt anda perlu mematuhi peraturan berikut:
- Fail mesti dinamakan tepat sebagai
requirements.txt - Fail mesti diletakkan di akar projek, bersebelahan dengan fail masukan Python anda (contohnya,
Super cBot_main.py). - Fail perlu disertakan dalam fail projek supaya ia dibungkus bersama algoritma.
Sebaik sahaja fail requirements.txt hadir dan diformat dengan betul, hanya bina projek anda, dan semua kebergantungan yang disenaraikan akan ditambah dan diselesaikan secara automatik. Berikut ialah contoh:
...\Documents\cAlgo\Sources\Robots\Super cBot\Super cBot
1 2 | |
Ciri yang disokong
Format requirements.txt mengikuti konvensyen standard yang digunakan oleh pip. Contoh berikut menunjukkan cara untuk menentukan versi pakej menggunakan penentu versi, menambah komen dan menggunakan baris kosong untuk kebolehbacaan:
Menetapkan kepada versi tepat
1 | |
Membenarkan versi minimum
1 | |
Menggunakan komen dan baris kosong
1 2 3 4 5 | |
Amalan terbaik
- Tetapkan perpustakaan kritikal untuk mengelakkan tingkah laku yang tidak dijangka apabila keluaran baharu memperkenalkan perubahan yang memecahkan.
- Jika anda menggunakan penentu julat untuk pakej yang kurang kritikal, uji algo anda setiap kali kebergantungan dikemas kini.
- Pertimbangkan untuk menulis komen bermakna untuk menjelaskan mengapa pakej tertentu digunakan atau mengapa versi tertentu dipilih.
- Bina semula projek anda setiap kali anda mengedit
requirements.txtuntuk memastikan kebergantungan dipasang dengan betul.
