Error after installation

Just installed on Linux Mint and get the following error:

Traceback (most recent call last):
File “/home/sal/bin/rapid-photo-downloader”, line 7, in
from raphodo.rapid import main
File “/home/sal/.local/lib/python3.5/site-packages/raphodo/rapid.py”, line 75, in
from PyQt5 import QtCore
ImportError: /home/sal/.local/lib/python3.5/site-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices

Hey i have the same problem after installation.
This is my progress. What can i do now?

jafix@Smoerph:~/Downloads$ python3 install.py

Downloading https://launchpad.net/rapid/pyqt/0.9.9/+download/rapid-photo-downloader-0.9.9.tar.gz (6.75 MB)
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:02
Es wird geprüft, ob eine ältere Version mit pip installiert wurde …
Uninstalling rapid-photo-downloader-0.9.9:
  Successfully uninstalled rapid-photo-downloader-0.9.9

Anwendungsabhängigkeiten werden installiert …

Collecting psutil>=3.4.2 (from -r /tmp/tmp9fk0axc5 (line 4))
Collecting gphoto2>=1.4.0 (from -r /tmp/tmp9fk0axc5 (line 5))
Collecting pyzmq<=15.1.0,>=14.4.1 (from -r /tmp/tmp9fk0axc5 (line 6))
Collecting pyxdg>=0.25 (from -r /tmp/tmp9fk0axc5 (line 8))
  Using cached https://files.pythonhosted.org/packages/39/03/12eb9062f43adb94e30f366743cb5c83fd15fef026500cd4de42c7c12280/pyxdg-0.26-py2.py3-none-any.whl
Collecting arrow>=0.6.0 (from -r /tmp/tmp9fk0axc5 (line 9))
Collecting python-dateutil>=2.2 (from -r /tmp/tmp9fk0axc5 (line 10))
  Using cached https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl
Collecting rawkit>=0.6.0 (from -r /tmp/tmp9fk0axc5 (line 11))
  Using cached https://files.pythonhosted.org/packages/33/a1/b99402cc6b1d7296163a0e3e3a37f132d62e7a9e1662ada4749e419edaf7/rawkit-0.6.0-py2.py3-none-any.whl
Collecting PyPrind>=2.9.4 (from -r /tmp/tmp9fk0axc5 (line 12))
  Using cached https://files.pythonhosted.org/packages/1e/30/e76fb0c45da8aef49ea8d2a90d4e7a6877b45894c25f12fb961f009a891e/PyPrind-2.11.2-py3-none-any.whl
Collecting colorlog>=2.6 (from -r /tmp/tmp9fk0axc5 (line 13))
  Using cached https://files.pythonhosted.org/packages/69/eb/58ae10d3c46a0195ffdd0e3943d255d0d5029d71e5457785ecd665bcf0f3/colorlog-3.1.4-py2.py3-none-any.whl
Collecting easygui<=0.97.4 (from -r /tmp/tmp9fk0axc5 (line 16))
  Using cached https://files.pythonhosted.org/packages/c6/4d/79f8dd1d3c9e2bdc134ae07a5821831a37fb4e8f3f1243a069b8e70fdd2c/easygui-0.97.4-py2.py3-none-any.whl
Collecting colour (from -r /tmp/tmp9fk0axc5 (line 17))
  Using cached https://files.pythonhosted.org/packages/74/46/e81907704ab203206769dee1385dc77e1407576ff8f50a0681d0a6b541be/colour-0.1.5-py2.py3-none-any.whl
Collecting pymediainfo>=2.2.0 (from -r /tmp/tmp9fk0axc5 (line 18))
Collecting sortedcontainers (from -r /tmp/tmp9fk0axc5 (line 19))
  Using cached https://files.pythonhosted.org/packages/cb/53/fe764fc8042e13245b50c4032fb2f857bc1e502aaca83063dcdf6b94d223/sortedcontainers-2.0.4-py2.py3-none-any.whl
Collecting requests (from -r /tmp/tmp9fk0axc5 (line 20))
  Using cached https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl
Collecting tornado<5.0 (from -r /tmp/tmp9fk0axc5 (line 21))
Collecting PyQt5>=5.9.2 (from -r /tmp/tmp9fk0axc5 (line 22))
  Using cached https://files.pythonhosted.org/packages/3a/c7/4a9bec78c864051051b41b4cc76672ecc232e6dc7dbb91a5f8ff6f20ff64/PyQt5-5.11.2-5.11.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl
Collecting six>=1.5 (from python-dateutil>=2.2->-r /tmp/tmp9fk0axc5 (line 10))
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting setuptools (from pymediainfo>=2.2.0->-r /tmp/tmp9fk0axc5 (line 18))
  Using cached https://files.pythonhosted.org/packages/ff/f4/385715ccc461885f3cedf57a41ae3c12b5fec3f35cce4c8706b1a112a133/setuptools-40.0.0-py2.py3-none-any.whl
Collecting idna<2.8,>=2.5 (from requests->-r /tmp/tmp9fk0axc5 (line 20))
  Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting urllib3<1.24,>=1.21.1 (from requests->-r /tmp/tmp9fk0axc5 (line 20))
  Using cached https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests->-r /tmp/tmp9fk0axc5 (line 20))
  Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests->-r /tmp/tmp9fk0axc5 (line 20))
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting PyQt5_sip<4.20,>=4.19.11 (from PyQt5>=5.9.2->-r /tmp/tmp9fk0axc5 (line 22))
  Using cached https://files.pythonhosted.org/packages/1f/73/a097e063ea84f9c0d5641bd45fd0147d7e88ad0e92c86638fa7ada14f436/PyQt5_sip-4.19.12-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: psutil, gphoto2, pyzmq, pyxdg, six, python-dateutil, arrow, rawkit, PyPrind, colorlog, easygui, colour, setuptools, pymediainfo, sortedcontainers, idna, urllib3, certifi, chardet, requests, tornado, PyQt5-sip, PyQt5
Successfully installed PyPrind-2.11.2 PyQt5-5.11.2 PyQt5-sip-4.19.12 arrow-0.12.1 certifi-2018.4.16 chardet-3.0.4 colorlog-3.1.4 colour-0.1.5 easygui-0.97.4 gphoto2-1.8.2 idna-2.7 psutil-5.4.6 pymediainfo-2.3.0 python-dateutil-2.7.3 pyxdg-0.26 pyzmq-15.1.0 rawkit-0.6.0 requests-2.19.1 setuptools-40.0.0 six-1.11.0 sortedcontainers-2.0.4 tornado-4.5.3 urllib3-1.23

Anwendung wird installiert …

Processing /tmp/tmp2enr8nio/rapid-photo-downloader-0.9.9.tar.gz
Building wheels for collected packages: rapid-photo-downloader
  Running setup.py bdist_wheel for rapid-photo-downloader: started
  Running setup.py bdist_wheel for rapid-photo-downloader: finished with status 'done'
  Stored in directory: /home/jafix/.cache/pip/wheels/8c/fa/22/db5465565cd44521a423f54e4f97dcd72d2dc3f5f1a8adb550
Successfully built rapid-photo-downloader
Installing collected packages: rapid-photo-downloader
Successfully installed rapid-photo-downloader-0.9.9

Die Hilfeseiten werden im Verzeichnis /usr/local/share/man/man1 installiert
Wenn Sie das Programm deinstallieren, bitte diese Hilfeseiten selbst entfernen.
Sudo fragt möglicherweise nach dem Sudo-Passwort.

sudo /bin/cp /home/jafix/.local/share/man/man1/rapid-photo-downloader.1 /usr/local/share/man/man1/rapid-photo-downloader.1
sudo /bin/cp /home/jafix/.local/share/man/man1/analyze-pv-structure.1 /usr/local/share/man/man1/analyze-pv-structure.1

(If a segmentation fault occurs at exit, you can ignore it...)
Speicherzugriffsfehler (Speicherabzug geschrieben)

jafix@Smoerph:~/Downloads$ rapid-photo-downloader 

Traceback (most recent call last):
  File "/home/jafix/bin/rapid-photo-downloader", line 7, in <module>
    from raphodo.rapid import main
  File "/home/jafix/.local/lib/python3.5/site-packages/raphodo/rapid.py", line 75, in <module>
    from PyQt5 import QtCore
ImportError: /home/jafix/.local/lib/python3.5/site-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices

Please confirm the precise version of Python 3 on your system. I assume it is Python 3.5.3 or older. You can get this from the command line like this:

python3 --version

You have come across a bug in the latest version of PyQt5. The solution is to downgrade PyQt5.

I’m going to assume your Python3 version is <= 3.5.3

From a terminal do these commands:

pip3 uninstall PyQt5 -y
pip3 install PyQt5==5.10 --user

Indeed

jafix@Smoerph:~$ python3 --version
Python 3.5.2

Please confirm the fix I suggested above works on your system.

Mh… sorry no…

jafix@Smoerph:~/Downloads$ python3 install.py
Downloading https://launchpad.net/rapid/pyqt/0.9.9/+download/rapid-photo-downloader-0.9.9.tar.gz (6.75 MB)
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:01
Es wird geprüft, ob eine ältere Version mit pip installiert wurde …

Anwendungsabhängigkeiten werden installiert …

Collecting psutil>=3.4.2 (from -r /tmp/tmphltw80by (line 4))
Collecting gphoto2>=1.4.0 (from -r /tmp/tmphltw80by (line 5))
Collecting pyzmq<=15.1.0,>=14.4.1 (from -r /tmp/tmphltw80by (line 6))
Collecting pyxdg>=0.25 (from -r /tmp/tmphltw80by (line 8))
  Using cached https://files.pythonhosted.org/packages/39/03/12eb9062f43adb94e30f366743cb5c83fd15fef026500cd4de42c7c12280/pyxdg-0.26-py2.py3-none-any.whl
Collecting arrow>=0.6.0 (from -r /tmp/tmphltw80by (line 9))
Collecting python-dateutil>=2.2 (from -r /tmp/tmphltw80by (line 10))
  Using cached https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl
Collecting rawkit>=0.6.0 (from -r /tmp/tmphltw80by (line 11))
  Using cached https://files.pythonhosted.org/packages/33/a1/b99402cc6b1d7296163a0e3e3a37f132d62e7a9e1662ada4749e419edaf7/rawkit-0.6.0-py2.py3-none-any.whl
Collecting PyPrind>=2.9.4 (from -r /tmp/tmphltw80by (line 12))
  Using cached https://files.pythonhosted.org/packages/1e/30/e76fb0c45da8aef49ea8d2a90d4e7a6877b45894c25f12fb961f009a891e/PyPrind-2.11.2-py3-none-any.whl
Collecting colorlog>=2.6 (from -r /tmp/tmphltw80by (line 13))
  Using cached https://files.pythonhosted.org/packages/69/eb/58ae10d3c46a0195ffdd0e3943d255d0d5029d71e5457785ecd665bcf0f3/colorlog-3.1.4-py2.py3-none-any.whl
Collecting easygui<=0.97.4 (from -r /tmp/tmphltw80by (line 16))
  Using cached https://files.pythonhosted.org/packages/c6/4d/79f8dd1d3c9e2bdc134ae07a5821831a37fb4e8f3f1243a069b8e70fdd2c/easygui-0.97.4-py2.py3-none-any.whl
Collecting colour (from -r /tmp/tmphltw80by (line 17))
  Using cached https://files.pythonhosted.org/packages/74/46/e81907704ab203206769dee1385dc77e1407576ff8f50a0681d0a6b541be/colour-0.1.5-py2.py3-none-any.whl
Collecting pymediainfo>=2.2.0 (from -r /tmp/tmphltw80by (line 18))
Collecting sortedcontainers (from -r /tmp/tmphltw80by (line 19))
  Using cached https://files.pythonhosted.org/packages/cb/53/fe764fc8042e13245b50c4032fb2f857bc1e502aaca83063dcdf6b94d223/sortedcontainers-2.0.4-py2.py3-none-any.whl
Collecting requests (from -r /tmp/tmphltw80by (line 20))
  Using cached https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl
Collecting tornado<5.0 (from -r /tmp/tmphltw80by (line 21))
Collecting PyQt5>=5.9.2 (from -r /tmp/tmphltw80by (line 22))
  Using cached https://files.pythonhosted.org/packages/3a/c7/4a9bec78c864051051b41b4cc76672ecc232e6dc7dbb91a5f8ff6f20ff64/PyQt5-5.11.2-5.11.1-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl
Collecting six>=1.5 (from python-dateutil>=2.2->-r /tmp/tmphltw80by (line 10))
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting setuptools (from pymediainfo>=2.2.0->-r /tmp/tmphltw80by (line 18))
  Using cached https://files.pythonhosted.org/packages/ff/f4/385715ccc461885f3cedf57a41ae3c12b5fec3f35cce4c8706b1a112a133/setuptools-40.0.0-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests->-r /tmp/tmphltw80by (line 20))
  Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Collecting idna<2.8,>=2.5 (from requests->-r /tmp/tmphltw80by (line 20))
  Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests->-r /tmp/tmphltw80by (line 20))
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting urllib3<1.24,>=1.21.1 (from requests->-r /tmp/tmphltw80by (line 20))
  Using cached https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl
Collecting PyQt5_sip<4.20,>=4.19.11 (from PyQt5>=5.9.2->-r /tmp/tmphltw80by (line 22))
  Using cached https://files.pythonhosted.org/packages/1f/73/a097e063ea84f9c0d5641bd45fd0147d7e88ad0e92c86638fa7ada14f436/PyQt5_sip-4.19.12-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: psutil, gphoto2, pyzmq, pyxdg, six, python-dateutil, arrow, rawkit, PyPrind, colorlog, easygui, colour, setuptools, pymediainfo, sortedcontainers, certifi, idna, chardet, urllib3, requests, tornado, PyQt5-sip, PyQt5
Successfully installed PyPrind-2.11.2 PyQt5-5.10 PyQt5-sip-4.19.12 arrow-0.12.1 certifi-2018.4.16 chardet-3.0.4 colorlog-3.1.4 colour-0.1.5 easygui-0.97.4 gphoto2-1.8.2 idna-2.7 psutil-5.4.6 pymediainfo-2.3.0 python-dateutil-2.7.3 pyxdg-0.26 pyzmq-15.1.0 rawkit-0.6.0 requests-2.19.1 setuptools-40.0.0 six-1.11.0 sortedcontainers-2.0.4 tornado-4.5.3 urllib3-1.23

Anwendung wird installiert …

Processing /tmp/tmpp1m0dxf3/rapid-photo-downloader-0.9.9.tar.gz
Building wheels for collected packages: rapid-photo-downloader
  Running setup.py bdist_wheel for rapid-photo-downloader: started
  Running setup.py bdist_wheel for rapid-photo-downloader: finished with status 'done'
  Stored in directory: /home/jafix/.cache/pip/wheels/db/53/33/b127532ce39202078db873662e237dc15d544bc528e1303b1e
Successfully built rapid-photo-downloader
Installing collected packages: rapid-photo-downloader
Successfully installed rapid-photo-downloader-0.9.9
Creating symlink /home/jafix/bin/rapid-photo-downloader
If you uninstall the application, remove this symlink yourself.
Creating symlink /home/jafix/bin/analyze-pv-structure
If you uninstall the application, remove this symlink yourself.

Möglicherweise müssen Sie den Rechner neu starten, um das Programm über das Terminal oder das Startmenü starten zu können.

Die Hilfeseiten werden im Verzeichnis /usr/local/share/man/man1 installiert
Wenn Sie das Programm deinstallieren, bitte diese Hilfeseiten selbst entfernen.
Sudo fragt möglicherweise nach dem Sudo-Passwort.

sudo /bin/cp /home/jafix/.local/share/man/man1/rapid-photo-downloader.1 /usr/local/share/man/man1/rapid-photo-downloader.1
[sudo] Passwort für jafix: 
sudo /bin/cp /home/jafix/.local/share/man/man1/analyze-pv-structure.1 /usr/local/share/man/man1/analyze-pv-structure.1

(If a segmentation fault occurs at exit, you can ignore it...)
Speicherzugriffsfehler (Speicherabzug geschrieben)
jafix@Smoerph:~/Downloads$ rapid-photo-downloader 
Traceback (most recent call last):
  File "/home/jafix/bin/rapid-photo-downloader", line 7, in <module>
    from raphodo.rapid import main
  File "/home/jafix/.local/lib/python3.5/site-packages/raphodo/rapid.py", line 75, in <module>
    from PyQt5 import QtCore
ImportError: /home/jafix/.local/lib/python3.5/site-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices
jafix@Smoerph:~/Downloads$

Don’t run the install.py script again. Simply do this after running the install.py script, as I posted above:

pip3 uninstall PyQt5 -y
pip3 install PyQt5==5.10 --user

Aaaahh… That’s it! Yes it works.
Sorry, my bad. :+1:

3.5.2 here.

The solution suggested above should work for you too.

It, did! Thank you very much. I couldn’t post as I was new to the forum!

Excellent work Damon (for RPD)

Same issue here (Ubuntu 16.04, python3 3.5.2), the solution worked (downgrade PyQt5 to 5.10).

How lame of PyQt though… It’s generally a bad thing to keep out-of-date packages on a system.
Especially because it makes impossible in the end to track what is what…

Thanks for fix, had already spent too much time fooling with dependencies as hints found on internet related to same problem in other software !
After being stuck with a buggy version 0.4.1 in Elementary OS, I can now happily test this great version :slight_smile:

1 Like

I have released a new version, 0.9.10, which contains the fix for the bug encountered here, and several other fixes too.

Thanks for the new release. It’s cool.

Although, it’s not actually ‘fixing’ the issue with PyQt5, but it just forces a downgrade of PyQt5 to the exact version needed while installing RapidPhotoDownloader.
If you upgrade again PyQt5 to the latest stable version, RapidPhotoDownloader does not work any more.

I’ll feel this as concluded when everything will work without version cherry-picking :wink:

I may be too religious, but an installer that downgrades lib packages does not make me feel fully at ease.

I’m still a great fan of this software, though.

I don’t think we’d have working systems if we didn’t version pick :wink:

We should get RPD in to an AppImage, flatpak, or snap, I think that’d help ease the pain!

I beg to differ… let’s not mix up version release with what I called version ‘cherry-picking’… Once a version is released and integrated, a ‘manual’ way back is usually an extreme measure (and not safe, in general).

As for your last point… I couldn’t agree more. An AppImage would be perfect, for exemple. Everything self-contained, whatever version of the libs that is needed wouldn’t affect the system software management.

Released and integrated into what, exactly? RPD runs on many many distros from Debian stable to Arch. “Released and integrated” means very different things in Debian stable and in Arch. You either use the older distro packed version, as in Debian, or you get components that go too far ahead and break. You’re hitting on one of the fundamental problems* about distro packing.

  • means you have issues with your distro’s packaged version :wink:

This may easily become a very long discussion, potentially off-topic, I guess :roll_eyes:

My point is just that this is the only software currently sitting in my computer that needs to ‘break’ some part of the software management of the system (in this case pip).
I have many other pieces of software (such as digikam) that need specific release or flavour of libs, not just one recent enough version, but they do not need all the system to be affected by their need (e.g. by running as an AppImage package).

I’m still talking about the ideal situation in which the requirements are defined as >=ver and not as ==ver.
And yes, I admit I’m quite pedantic… :relieved: