Bir Python projesi için bir setup.py dosyası yazıyorum, böylece dağıtabilirim. Amaç, sonunda bir .egg dosyası oluşturmak, ancak ilk önce dikkat dağıtıcıları ve düzenli bir .zip ile çalışmaya çalışıyorum. Neden bu veri dosyalarını dağınıklıkları kullanarak bir Python dağıtımına dahil edemiyorum?
Bu
bir tutulma Pydev projedir ve benim dosya yapısı böyle bir şeydir:ProjectName
src
somePackage
module1.py
module2.py
...
config
propsFile1.ini
propsFile2.ini
propsFile3.ini
setup.py
İşte şimdiye kadar benim setup.py kod:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage'],
data_files = [('config', ['..\config\propsFile1.ini',
'..\config\propsFile2.ini',
'..\config\propsFile3.ini'])]
)
Bu (Sdist olarak birlikte çalıştırdığınızda bir komut satırı parametresi), bir .zip dosyası tüm python dosyaları ile oluşturulur - ancak yapılandırma dosyaları dahil değildir.
data_files = [('config', ['..\config\propsFile1.ini',
'..\config\propsFile2.ini',
'..\config\propsFile3.ini'])]
o 3 Belirtilen yapılandırma dosyaları zip dağılımında "yapılandırma" dizinine kopyalanmış gerektiğini gösterir: Bu kod düşündük. Bu kod neden bir şey başarmıyor? Neyi yanlış yapıyorum?
(Ben de yapılandırma dosyalarının yolları ile uğraşırken denedi ... Ama hiçbir şey yardımcı olacak gibi görünüyor. Yolunun yanlış olsaydı misiniz Python bir hata ya uyarı/dosya bulunamadı?)
Teşekkürler. Aşağıdaki hatayı alıyorum: 'uyarı: 'config \ *'' ile eşleşen dosya bulunamadı. Ben değiştirmeye çalıştım .. \ config \ * ama bu da herhangi bir fikre ya da ... – froadie
'\' ve '*' arasında bir boşluk var. Bunu kaldırmayı dene? Aksi takdirde eğik çizgiyi kullanmayı deneyin. Eğik çizgiyi kullandım, ama ters eğik çizgiyi kullandığınız için '/' yerine '\' ile değiştirdim. Ancak, Windows'da herhangi bir soruna neden olan/kullanmayanı buldum. şey gibi, içine dosya adları hardcoding tarafından doğru yolda olup olmadığını kontrol edin çalışıyorsa: yapılandırma içerme/propsFile1.ini vb config/propsFile2.ini # ... – Umang
dahil uzay sadece oldu SO formatlama nedeniyle - onları bir araya getirdiğimde bir sebepten dolayı eğik çizgi gizledim. Eğik çizgiyi değiştirmek bir fark yaratmıyor ... Python otomatik olarak onu geri çeviriyor, aynı hata mesajını veriyor. Tek tek dosyalar üzerinde aynı hatayı al ... :(herhangi bir ipucu neyin var? Bir yol sorunu mu? – froadie