Rumah > Artikel > pembangunan bahagian belakang > Mengapa `data_pakej` Gagal Memasukkan Fail Data dalam Alat Setup Python?
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!