Memasukkan Data Pakej dalam Persediaan dengan Setuptools atau Distutils
Apabila bekerja dengan setuptools, menyepadukan data pakej ke dalam proses pemasangan boleh menghadapi halangan. Walaupun dokumentasi mencadangkan penggunaan package_data untuk menentukan kemasukan fail, pengguna menghadapi masalah dalam melaksanakan pendekatan ini.
Pertimbangkan coretan kod berikut:
setup( name='myapp', packages=find_packages(), package_data={ 'myapp': ['data/*.txt'], }, include_package_data=True, zip_safe=False, install_requires=['distribute'], )
Dalam contoh ini, kamus package_data bertujuan untuk memasukkan semua Fail .txt yang terdapat dalam direktori myapp/data/. Walau bagaimanapun, mekanisme ini tidak berkesan.
Pendekatan Alternatif: MANIFEST.in
Daripada bergantung pada package_data, gunakan fail MANIFEST.in untuk menentukan fail yang akan disertakan. Kaedah ini berfungsi dengan lancar untuk pengedaran binari dan sumber.
Untuk mencipta fail MANIFEST.in, tambah baris berikut:
include data/*
Dalam kes ini, ia memastikan semua fail dalam data / direktori disertakan dalam proses pemasangan.
Dengan menggunakan pendekatan MANIFEST.in, anda boleh mengurus kemasukan data pakej dengan berkesan dalam kedua-dua pengedaran binari dan sumber.
Atas ialah kandungan terperinci Mengapa `data_pakej` Gagal Memasukkan Fail Data dalam Alat Setup Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!