Sto facendo un'applicazione PyQt indipendente dalla piattaforma. Intendo usare scrivere un file setup.py usando setuptools. Finora sono riuscito a scoprire la piattaforma, ad es. caricare opzioni specifiche per setup() a seconda della piattaforma per utilizzare py2exe su Windows ... ecc ...Accesso ai file di dati prima e dopo distutils/setuptools
Tuttavia, con la mia applicazione sto distribuendo alcuni temi, HTML e immagini, ho bisogno di caricare queste immagini nell'applicazione in fase di esecuzione. Finora sono memorizzati nella directory themes/dell'applicazione.
Ho letto documentazione su setuptools e distutils e ho capito che se fornivo setup() le opzioni data_files con tutti i file nella directory themes/da installare in "share/MyApp/themes /" verrebbe installato con un prefisso/usr/o qualsiasi altro sys.prefix si trovi sulla piattaforma. Suppongo che troverei i file di dati usando os.path.join (sys.prefix, "share", "MyApp", "themes") nomatterò su quale piattaforma sono attivo, giusto?
Tuttavia, desidero poter accedere ai file di dati anche durante lo sviluppo, dove risiedono nella directory temi/relativa alla sorgente dell'applicazione. Come faccio a fare questo? C'è un modo intelligente per capire se l'applicazione è stata installata? O un'utilità che si associa ai file di dati indipendentemente da dove si trovino, al momento?
Vorrei davvero odiare tutti i tipi di brutti hack per vedere se ci sono temi relativi all'origine, o in sys.prefix/share ... ecc ... Come trovo i file di dati durante lo sviluppo? e dopo l'installazione su una piattaforma arbitraria?
Come sarà questo lavoro quando data_files sono installati in/usr/share/NomeApp/themes/ E il mio eseguibile è in qualcosa come/usr/lib/NomeApp Mi piacerebbe pensare ... distutils documentazione dice che sarà installato con sys.prefix come prefisso per il percorso relativo che ho dato ai file di dati da memorizzare in ... Su * nix i file di dati dei sistemi dovrebbero probabilmente anche essere in/usr/share/AppName/ – jonasfj
Ho usato questo con un'opzione package_data in setup.py. Non sono sicuro di data_files. –
Okay ... Sì, package_data è anche un'opzione ... Forse dovrei andare con quello ... Non penso che genererà pacchetti compatibili con Debian :) – jonasfj