ilstam / FF-Multi-Converter

GUI File Format Converter
https://sites.google.com/site/ffmulticonverter/
GNU General Public License v3.0
83 stars 14 forks source link

ImportError: No module named 'PyQt4' #27

Closed ghost closed 10 years ago

ghost commented 10 years ago

Hi,

These are my specs;

Slackware 14.1 x86_64
ffmpeg-2.2.2
imagemagick-6.8.6_10
PyQt-4.9.6
python3-3.4.0
python-magick-0.9.10
unoconv-0.6

By the way python-magick isn't listed on GitHub as a dependency... Also what version/brach of ffmpeg should people be using? Might be nice to list a version?

I compiled FF-Multi-Converter 1.6.0 in Slackware, this was the compile flag;

python3 setup.py install --root $PKG

ffmulticonverter 1.6.0 won't run and when I run ffmulticonverter at a terminal I get this message;

Traceback (most recent call last):
  File "/usr/bin/ffmulticonverter", line 4, in <module>
    from ffmulticonverter import ffmulticonverter
  File "/usr/lib64/python3.4/site-packages/ffmulticonverter/ffmulticonverter.py", line 17, in <module>
    from PyQt4.QtCore import (PYQT_VERSION_STR, QCoreApplication, QLocale, QRegExp,
ImportError: No module named 'PyQt4'

Slackware compiled PyQT4 against python2, I'm assuming this is the problem and it needs to be built against python3?

python3 is for only 1.6.0? Because I can run the older versions with python2...

Do you think in the next release you could offer it for python2 as well?

thanks

ilstam commented 10 years ago

Hello,

From version 1.6.0 onwards pythonmagick is not a dependency. Imagemagick is though.

There aren't any known issues with specific versions of ffmpeg so feel free to use the version that your distribution provides or any other version you wish. I think you can also use avconv without problems. If however you encounter a problem with a specific version of ffmpeg/avconv, please report it.

Regarding PyQt4, as you correctly guessed you need different versions for python2 and python3. Re-compile it for python3 and it should work properly (aren't there any binaries in slack for pyqt?).

Yes indeed, from version 1.6.0 ffmulticonverter ported to python3. There weren't any serious reasons to hold us back and since more and more projects make the move to python3 I thought it was good to port this one too. Using python3 also offers me some conveniences on developing.

At the moment there are no huge differences from 1.5.2 to 1.6.0 so I think it's ok use the older version with python2 and pythonmagick if you wish but you will need python3 for any future releases.

I'm sorry for the inconvenience.

ghost commented 10 years ago

Hi Ilias95,

Ok I wouldn't want to compile PyQt4 for python3 since it's compiled against python2 in Slackware, not sure what it would break then.

This is a really nice application you made, but not sure I can use it, encoding/converting is really slow. I thought Handbrake was slow, but FF-Multi-Converter is 3x slower for video converting, that's not good. So if you want me to open an issue about the slowness to see what can be done to improve converting videos I'll open an issue on that...

thanks

ilstam commented 10 years ago

Ok I wouldn't want to compile PyQt4 for python3 since it's compiled against python2 in Slackware, not sure what it would break then.

In binary distros there are different versions for python2 and python3 so I'm pretty sure you can have it installed for both versions in Slack too.

encoding/converting is really slow

The program that is real responsible about the video conversions is ffmpeg. ffmulticonverter is nothing more than a graphical interface for ffmpeg and other tools that tries to offer some conveniences and automate some tasks. So to get better results you possibly need to "be good at" ffmpeg.

So if you want me to open an issue about the slowness to see what can be done to improve converting videos I'll open an issue on that...

Yeah sure, and if it turns to be an ffmulticonverter issue and not an ffmpeg one, I'll give it a try.

Thanks for the feedback

ghost commented 10 years ago

Actually after all this I'm sorry to say that for now I'm going to be using Handbrake, not that your applicaiton isn't great.

thanks for your time it was appreciated! :)