RemiRigal / Plex-Auto-Languages

Automated language selection for Plex TV Shows !
MIT License
428 stars 16 forks source link

ModuleNotFoundError: No module named 'apprise' #23

Closed s0up4200 closed 2 years ago

s0up4200 commented 2 years ago

I've tried running this in a venv, but it doesn't find apprise, even though all requirements are installed in the venv. Also, does this have to run as sudo?

Any help much appreciated :)

(pal-venv) user@domain:~/Plex-Auto-Languages$ sudo python3 main.py ./default.config                                                              
Traceback (most recent call last): File "/home/user/Plex-Auto-Languages/main.py", line 6, in <module>
    from apprise import Apprise
ModuleNotFoundError: No module named 'apprise'
s0up4200 commented 2 years ago

I might add that it works without issues when not running it in a venv, but it makes more sense to run it in a venv to avoid installing dependencies globally kinda.

This is the error I get when running it without sudo (as it should be ran I guess)

(pal-venv) user@server:~/Plex-Auto-Languages$ python3 main.py -c ./config/default.yaml
Traceback (most recent call last):
  File "/home/user/Plex-Auto-Languages/main.py", line 297, in <module>
    plex_auto_languages = PlexAutoLanguages(args.config_file)
  File "/home/user/Plex-Auto-Languages/main.py", line 25, in __init__
    self.healthcheck_server = HealthcheckServer("Plex-Auto-Languages", self.is_ready, self.is_healthy)
  File "/home/user/Plex-Auto-Languages/utils/healthcheck.py", line 20, in __init__
    self._server = make_server("0.0.0.0", 80, self._app)
  File "/home/user/Plex-Auto-Languages/pal-venv/lib/python3.9/site-packages/werkzeug/serving.py", line 849, in make_server
    return BaseWSGIServer(
  File "/home/user/Plex-Auto-Languages/pal-venv/lib/python3.9/site-packages/werkzeug/serving.py", line 693, in __init__
    self.server_bind()
  File "/usr/lib/python3.9/http/server.py", line 138, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/usr/lib/python3.9/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
PermissionError: [Errno 13] Permission denied
s0up4200 commented 2 years ago

Ok, so the issue was it wants to start a webserver on port 80. Changed the port, and it worked.

RemiRigal commented 2 years ago

Hi @s0up4200 ! Sorry for the late reply, you've already answered most of your issue yourself.

The WebServer is indeed running on port 80, I set it up like this with Docker in mind but I see how this can be inconvenient if you don't user Docker. I will probably change the default port to something that doesn't require elevated privileges, and maybe add this as a parameter. Thank you for opening this issue !