On Wednesday 06 April 2011 20:57:02 Alberto Mattea wrote: > In data mercoledì 6 aprile 2011 20:43:40, Michael Jansen ha scritto: > > > > You might also want to consider using KDE's > > > > macro_optional_find_package() together with macro_log_feature(), > > > > so you show a list of all the dependencies which have or have > > > > not been found instead of failing at the first one. > > > > > > > > I remember some discussions before about build-time and runtime > > > > dependencies in applications written in Python, but I can't > > > > remember > > > > the outcome. Someone with a distro hat should have more > > > > information > > > > about this. > > > > > > Thanks, I'll look into this. > > > > I think i can summarize. NEVER check for runtime dependencies on compile > > time. And since all python/ruby/perl dependencies are runtime > > dependencies just don't check for them in a makefile whatever. > > > > When starting the app try to import what you need and bail out > > gracefully > > if something it missing. A small upfront method that checks if all > > mandatory dependencies are there is all that is needed. > > > > in ruby > > > > begin > > > > require 'whatever' > > > > rescue LoadError > > > > $stderr.puts "Required library whatever is missing.' > > exit -1 > > > > end > > [... repeat as required] > > > > Python can do the same > > > > And then document all required and optional dependencies in a readme so > > the packagers can add the required dependencies to the package they > > will build. > > > > Mike > > Thanks. Does this apply also to pyqt/pykde itself?
Preferably so. Remember that most script programs do not require to be installed. A ruby program even if having a rakefile most of the time is able to be run from the checkout. And what i remember from python the same applies there. So if you want to play nice your main script checks for pyqt/pykde and does the same. Costs you nothing. But immediately failing without checking is acceptable to if the resulting error message is clear enough. >>> import PyKDE4 >>> import PyKDE5 Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named PyKDE5 >>> I guess that makes it clear i have to install PyKDE5. Which repo was that again? :)) Mike