Taxel / PlexTraktSync

A python script that syncs the movies, shows and ratings between trakt and Plex (without needing a PlexPass or Trakt VIP subscription)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ModuleNotFoundError: No module named 'plextraktsync.sync'

AndreiArdelean1 opened this issue · comments

Confirmation

  • I have read the README.md on the project homepage
  • I have checked if identical issue already exists
  • I have tried downgrading to find version that can be used as a workaround

The problem

plextraktsync sync command throws the error:

INFO     PlexTraktSync [0.28.21]
INFO     Connecting with url: http://plex:32400, timeout 30 seconds
ERROR    No module named 'plextraktsync.sync'
         ╭───────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────╮
         │ /app/plextraktsync/cli.py:26 in wrap                                                                                                         │
         │                                                                                                                                              │
         │    23 │   │   │   cmd = getattr(module, name)                                                                                                │
         │    24 │   │   │                                                                                                                              │
         │    25 │   │   │   try:                                                                                                                       │
         │ ❱  26 │   │   │   │   cmd(*args, **kwargs)                                                                                                   │
         │    27 │   │   │   except EOFError as e:                                                                                                      │
         │    28 │   │   │   │   raise ClickException(f"Program requested terminal, No terminal is                                                      │
         │       connected: {e}")                                                                                                                       │
         │    29 │   │   │   except ClickException as e:                                                                                                │
         │                                                                                                                                              │
         │ /app/plextraktsync/commands/sync.py:63 in sync                                                                                               │
         │                                                                                                                                              │
         │   60 │   │   return                                                                                                                          │
         │   61 │                                                                                                                                       │
         │   62with measure_time("Completed full sync"):                                                                                           │
         │ ❱ 63 │   │   runner = factory.sync                                                                                                           │
         │   64 │   │   if runner.config.need_library_walk:                                                                                             │
         │   65 │   │   │   w.print_plan(print=logger.info)                                                                                             │
         │   66 │   │   if dry_run:                                                                                                                     │
         │                                                                                                                                              │
         │ /usr/local/lib/python3.12/functools.py:995 in __get__                                                                                        │
         │                                                                                                                                              │
         │    992 │   │   │   raise TypeError(msg) from None                                                                                            │
         │    993 │   │   val = cache.get(self.attrname, _NOT_FOUND)                                                                                    │
         │    994 │   │   if val is _NOT_FOUND:                                                                                                         │
         │ ❱  995 │   │   │   val = self.func(instance)                                                                                                 │
         │    996 │   │   │   try:                                                                                                                      │
         │    997 │   │   │   │   cache[self.attrname] = val                                                                                            │
         │    998 │   │   │   except TypeError:                                                                                                         │
         │                                                                                                                                              │
         │ /app/plextraktsync/util/Factory.py:140 in sync                                                                                               │
         │                                                                                                                                              │
         │   137 │                                                                                                                                      │
         │   138 │   @cached_property                                                                                                                   │
         │   139def sync(self):                                                                                                                    │
         │ ❱ 140 │   │   from plextraktsync.sync.Sync import Sync                                                                                       │
         │   141 │   │                                                                                                                                  │
         │   142 │   │   plex = self.plex_api                                                                                                           │
         │   143 │   │   trakt = self.trakt_api                                                                                                         │
         ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
         ModuleNotFoundError: No module named 'plextraktsync.sync'

Steps to reproduce the behavior

  1. run a docker container with the image ghcr.io/taxel/plextraktsync:latest
  2. run command plextraktsync sync

Error trace / logs

No response

Expected behavior

No error should occur

Inspect of problematic items

No response

Workarounds

run container with image ghcr.io/taxel/plextraktsync:0.28.20

Install method

docker-compose

Config file contents

# Config File: /app/config/config.yml
cache:
  path: /app/cache/trakt_cache
excluded-libraries:
- Personal
config:
  dotenv_override: true
plex:
  timeout: 30
logging:
  append: false
  console_time: false
  debug: false
  filename: plextraktsync.log
  filter_loggers: null
  filter: null
sync:
  rating_priority: plex
  plex_to_trakt:
    collection: false
    clear_collected: false
    ratings: false
    watched_status: true
    watchlist: false
  trakt_to_plex:
    liked_lists: false
    ratings: false
    watched_status: true
    watchlist: false
    watchlist_as_playlist: false
watch:
  add_collection: false
  remove_collection: false
  scrobble_threshold: 80
  username_filter: true
  media_progressbar: true
xbmc-providers:
  movies: imdb

Version

0.28.21

Python Version

3.12.2 (main, Feb 7 2024, 22:13:24) [GCC 13.2.1 20231014]

Plex Server Version

1.40.0.7998-c29d4c0c8, updated at: 2024-02-23 05:31:24

Operating System and Version

Ubuntu 22.04.4 LTS

Same error here on the "latest" docker image tag.

I got exactly the same error running the latest docker image 0.29.0 the last working image for me is 0.28.20

Update to 0.29.1 should fix this issue.

0.29.2 if you're using pip/pipx