Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Adakah `setup.py` Saya Gagal Menyertakan Data Pakej?

Mengapa Adakah `setup.py` Saya Gagal Menyertakan Data Pakej?

Linda Hamilton
Lepaskan: 2024-11-02 15:17:29
asal
751 orang telah melayarinya

Why Does My `setup.py` Fail to Include Package Data?

Termasuk Data Pakej dengan setuptools/distutils

Masalah:

Walaupun mengikut langkah yang disyorkan untuk memasukkan data pakej menggunakan setuptools, pemasang gagal memasukkan fail yang berkaitan. Kod persediaan berikut harus mendayakan kefungsian ini:

<code class="python">setup(
   name='myapp',
   packages=find_packages(),
   package_data={
      'myapp': ['data/*.txt'],
   },
   include_package_data=True,
   zip_safe=False,
   install_requires=['distribute'],
)</code>
Salin selepas log masuk

Penjelasan:

Isu ini timbul disebabkan oleh perbezaan halus antara package_data dan MANIFEST.in yang lebih dipercayai. package_data digunakan terutamanya apabila membina pakej binari (cth., python setup.py bdist ...), tetapi ia tidak berfungsi untuk mencipta pakej sumber (cth., python setup.py sdist ...).

Penyelesaian:

Untuk memasukkan data pakej dengan berkesan untuk kedua-dua pengedaran binari dan sumber, adalah disyorkan untuk menggunakan MANIFEST.in. Berikut ialah contoh:

include appname/data/*.txt
Salin selepas log masuk

Letakkan fail ini pada akar projek anda. Ia akan mengarahkan perintah bdist dan sdist untuk memasukkan fail data yang ditentukan. Kaedah ini memastikan bahawa tanpa mengira jenis pengedaran yang sedang dibina, data yang diperlukan dibungkus dengan betul.

Atas ialah kandungan terperinci Mengapa Adakah `setup.py` Saya Gagal Menyertakan Data Pakej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan