trakt / Plex-Trakt-Scrobbler

Add what you are watching on Plex to trakt.tv
1.45k stars 167 forks source link

Critical Error: Unable to import the playhouse.apsw_ext library (No module named apsw) #521

Open lazy-gipsy-bear opened 5 years ago

lazy-gipsy-bear commented 5 years ago

Hi.

I have (strange) problem with plex on docker container based on linuxserver/plex image on Odroid HC2 (Odroid XU4) Message "Critical Error: Unable to import the playhouse.apsw_ext library (No module named apsw)" in Plex web interface.

plugin log: com.plexapp.plugins.trakttv.zip I created the Plug-in Support\Data\com.plexapp.plugins.trakttv\advanced.ini file with the following contents: [libraries] cache_path = /var/lib/tfp/libraries libraries_path = /var/lib/tfp/libraries

I copied Linux/armv7_hf folder from Plug-ins/Trakttv.bundle/Contents/Libraries to /var/lib/tfp/libraries. I set permission for content /var/lib/tfp/libraries

This configuration work on docker contaner based on lsioarmhf/plex image and work perfect. But after i tried turn container to linuxserver/plex (after linuxserver team include multiarch support to this image) trakttv plugin stop work :(

I tried add to the Plug-in Support\Data\com.plexapp.plugins.trakttv\advanced.ini file next content: cpu_architecture = armv7_hf

And I copied Linux/armv6_hf folder from Plug-ins/Trakttv.bundle/Contents/Libraries to /var/lib/tfp/libraries because linuxserver/plex image support exactly armv6-32 architecture.

Did not help for me

pax0707 commented 4 years ago

Glad that helped. One of the recent PMS updates broke something. I tied so many things before that worked.

TehRobot commented 4 years ago

Can confirm 'repairing' my Visual C++ 2013 x86 install and a restart worked for getting the plugin back up and running.

Cheers.

chrisweetman commented 4 years ago

im getting this same issue on Synology NAS - DS2015XS - its based on the Arm7 CPU. I migrated plex to Windows machine, but with 5 years of watched history on the Synology, I was hoping to sync that data across to the new system. I keep getting the no apsw module issues, but trying even the step by step approach isn't working for me as pip3 isn't available on the NAS, I get the following when I try to run through the commands

admin@diskstation:~/PlexTraktSync$ pip3 install -r requirements.txt -sh: pip3: command not found admin@diskstation:~/PlexTraktSync$ cp .env_example .env admin@diskstation:~/PlexTraktSync$ python3 main.py Traceback (most recent call last): File "main.py", line 2, in import plexapi.server ImportError: No module named 'plexapi'

I only need to run the sync once on the Synology, but this is taking so much effort as I am out of my knowledge area with this issue. Any help would be appreciated!

Windows install did work, and is updating with information gathered since setup.

airdrummingfool commented 4 years ago

@chrisweetman as a workaround, could you copy the Synology’s Plex history database file(s) to Windows and sync to Trakt from there?

chrisweetman commented 4 years ago

i could give that a go, is it just the file com.plexapp.plugins.library.db

chrisweetman commented 4 years ago

That appears to have worked for me!! all entries are now showing up in trakt, will now revert to the new version of the db file and check that all remains, if so, you have helped me get rid of an issue which has been bugging me for weeks! Simple when you know how!!

linust commented 4 years ago

On Windows 10 64bit Installing/reinstalling Visual C++ 2013 x86 redistributable available from https://www.microsoft.com/en-us/download/details.aspx?id=40784 and restarting did the trick.

TonioBDS commented 4 years ago

I'm quite unfamiliar to such Python script and for now I have no idea how to "install" it and make it run.

It has been a while since I installed it, but here is an attempt to make their instructions more user-friendly.

Make sure Python 3 and git are installed. Log into: https://trakt.tv/oauth/applications/new (FB login seems to be broken at the moment) name: Plex Trakt Sync redirect url: urn:ietf:wg:oauth:2.0:oobas leave Javascript origins and the checkboxes blank. After submitting, leave the page up as you will need some of the information in a few moments.

cd ~
git clone https://github.com/Taxel/PlexTraktSync.git
cd PlexTraktSync
pip3 install -r requirements.txt
cp .env_example .env
python3 main.py

Answer the prompts then run: (This takes a very long time)

./plex_trakt_sync.sh

Install the cronjob if so desired:

crontab -e

Add the line:

0 */2 * * * cd ~/PlexTraktSync/ && ./plex_trakt_sync.sh

Save and Exit

Has anyone tried to instal this script with a cron running

Yes, but if I mark something as unwatched in plex so I can rewatch it (usually TV series I am rewatching with my kids), the sync keeps marking it as watched. This made it so I constantly lost my spot while rewatching, so I got rid of the cron.

on a Synology NAS?

Nope :)

Hello , I am finaly trying to follow your instruction to run his script on my Synology NAS. When I get to run the command python3 main.py, I get the followng error:

root@Tonio-NAS:/volume1/GitProjects/PlexTraktSync# python3 main.py Traceback (most recent call last): File "main.py", line 11, in <module> from dotenv import load_dotenv File "/volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/dotenv/__init__.py", line 2, in <module> from .main import load_dotenv, get_key, set_key, unset_key, find_dotenv, dotenv_values File "/volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/dotenv/main.py", line 10, in <module> from typing import (Dict, Iterator, List, Match, Optional, # noqa ImportError: cannot import name 'TYPE_CHECKING' Does anyone willing to help ? Thank you

TonioBDS commented 4 years ago

I'm quite unfamiliar to such Python script and for now I have no idea how to "install" it and make it run.

It has been a while since I installed it, but here is an attempt to make their instructions more user-friendly. Make sure Python 3 and git are installed. Log into: https://trakt.tv/oauth/applications/new (FB login seems to be broken at the moment) name: Plex Trakt Sync redirect url: urn:ietf:wg:oauth:2.0:oobas leave Javascript origins and the checkboxes blank. After submitting, leave the page up as you will need some of the information in a few moments.

cd ~
git clone https://github.com/Taxel/PlexTraktSync.git
cd PlexTraktSync
pip3 install -r requirements.txt
cp .env_example .env
python3 main.py

Answer the prompts then run: (This takes a very long time)

./plex_trakt_sync.sh

Install the cronjob if so desired:

crontab -e

Add the line:

0 */2 * * * cd ~/PlexTraktSync/ && ./plex_trakt_sync.sh

Save and Exit

Has anyone tried to instal this script with a cron running

Yes, but if I mark something as unwatched in plex so I can rewatch it (usually TV series I am rewatching with my kids), the sync keeps marking it as watched. This made it so I constantly lost my spot while rewatching, so I got rid of the cron.

on a Synology NAS?

Nope :)

Hello , I am finaly trying to follow your instruction to run his script on my Synology NAS. When I get to run the command python3 main.py, I get the followng error:

root@Tonio-NAS:/volume1/GitProjects/PlexTraktSync# python3 main.py Traceback (most recent call last): File "main.py", line 11, in <module> from dotenv import load_dotenv File "/volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/dotenv/__init__.py", line 2, in <module> from .main import load_dotenv, get_key, set_key, unset_key, find_dotenv, dotenv_values File "/volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/dotenv/main.py", line 10, in <module> from typing import (Dict, Iterator, List, Match, Optional, # noqa ImportError: cannot import name 'TYPE_CHECKING' Does anyone willing to help ? Thank you

Did anyone manage to install this script on a Synology NAS? Many thanks to all of you.

Klemart3D commented 3 years ago

The directory ucs2 did not exist and I had to create that folder, copy the apsw.so file in there and set the permissions using chmod -R plex:users ucs2.

@JeeDeWee it's not chmod but chown : chown -R plex:users ucs2

alecaputo13 commented 3 years ago

Hey guys I'm having the same problem with the apsw.so library i think. I already followed all the steps provided by vrachnis here https://github.com/trakt/Plex-Trakt-Scrobbler/issues/521#issuecomment-473983442 But it's not working .-. Here's my traktv log file if anyone wants to help https://pastebin.com/uSep3u82 Anyway I'm on a raspberry pi4 with ubuntu

TonioBDS commented 3 years ago

Hey guys I'm having the same problem with the apsw.so library i think. I already followed all the steps provided by vrachnis here #521 (comment) But it's not working .-. Here's my traktv log file if anyone wants to help https://pastebin.com/uSep3u82 Anyway I'm on a raspberry pi4 with ubuntu

Hello,

I have never managed to make the trakt plugin work on my plex. However I am quite happy about PlexTraktSync. Have you tried it?

shotfirer commented 3 years ago

After copying apsw.so I have the following error: ImportError: Error loading shared library libsqlite3.so.0: No such file or directory (needed by /usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/apsw.so)

I've found libsqlite3.so.0 in my system and tried to add the path to LD_LIBRARY_PATH, tried to use ldconfig and even tried to copy the file directly to the /usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/, nothing works, I still have the same error.

What's weird, the plugin was working fine until the last Plex update (about a week ago or so).

Any clue will be much appreciated.

grasuoare commented 2 years ago

Could someone solve this shitty issue?

copying the apsw.so is not longer working.

PLEASE!!!!!