ProtonVPN / linux-cli

Official ProtonVPN Linux app (CLI)
https://protonvpn.com/download-linux
GNU General Public License v3.0
335 stars 43 forks source link

Error while connecting - TypeError: __init__() got an unexpected keyword argument 'log_dir_path' #54

Closed varun-jois closed 2 years ago

varun-jois commented 2 years ago

I'm having difficulties connecting after updating to the current version. I'm not sure what version I was using before but on Sunday evening (EST) I wasn't having this problem. Here is the traceback:

$ protonvpn-cli c Traceback (most recent call last): File "/usr/bin/protonvpn-cli", line 11, in load_entry_point('protonvpn-cli==3.10.1', 'console_scripts', 'protonvpn-cli')() File "/usr/lib/python3/dist-packages/protonvpn_cli/main.py", line 21, in main ProtonVPNCLI() File "/usr/lib/python3/dist-packages/protonvpn_cli/cli.py", line 65, in init res = getattr(self, args.command)() File "/usr/lib/python3/dist-packages/protonvpn_cli/cli.py", line 71, in c return self.connect() File "/usr/lib/python3/dist-packages/protonvpn_cli/cli.py", line 133, in connect return self.cli_wrapper.connect(args) File "/usr/lib/python3/dist-packages/protonvpn_cli/cli_wrapper.py", line 186, in connect if not self.protonvpn.check_session_exists(): File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/api.py", line 322, in check_session_exists return self._env.api_session.is_valid File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/environment.py", line 54, in api_session self.api_session = APISession() File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/session/session.py", line 206, in init self.__session_create() File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/session/session.py", line 233, in session_create tls_pinning=self._enforce_pinning, TypeError: init() got an unexpected keyword argument 'log_dir_path'

calexandru2018 commented 2 years ago

Hey @varun-jois

probably not all packages got updated

varun-jois commented 2 years ago

@calexandru2018 Thank you for getting back to me. I got the same error after uninstalling and re-installing the cli as per the instructions here. What do you recommend I try? I'm using Ubuntu 18.04.

calexandru2018 commented 2 years ago

Re-installing does always solve the problem. What is the output of protonvpn-cli -v ?

varun-jois commented 2 years ago

$ protonvpn-cli -v

ProtonVPN CLI v3.10.1 (protonvpn-nm-lib v3.6.0; proton-client v0.5.1)

varun-jois commented 2 years ago

I had to manually update python3-proton-client to v0.7.1 and now it works.

108806 commented 2 years ago

Still got the same error, reinstalling didn't help.

ProtonVPN CLI v3.11.0 (protonvpn-nm-lib v3.7.0; proton-client v0.5.1) Linux 5.13.0-30-generic #33~20.04.1-Ubuntu SMP Mon Feb 7 14:25:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Traceback (most recent call last): File "/usr/bin/protonvpn-cli", line 11, in <module> load_entry_point('protonvpn-cli==3.11.0', 'console_scripts', 'protonvpn-cli')() File "/usr/lib/python3/dist-packages/protonvpn_cli/main.py", line 21, in main ProtonVPNCLI() File "/usr/lib/python3/dist-packages/protonvpn_cli/cli.py", line 65, in __init__ res = getattr(self, args.command)() File "/usr/lib/python3/dist-packages/protonvpn_cli/cli.py", line 162, in login return self.cli_wrapper.login(args.username) File "/usr/lib/python3/dist-packages/protonvpn_cli/cli_wrapper.py", line 63, in login if self.protonvpn.check_session_exists(): File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/api.py", line 344, in check_session_exists return self._env.api_session.is_valid File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/environment.py", line 55, in api_session self.__api_session = APISession() File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/session/session.py", line 211, in __init__ self.__session_create() File "/usr/lib/python3/dist-packages/protonvpn_nm_lib/core/session/session.py", line 232, in __session_create self.__proton_api = Session( TypeError: __init__() got an unexpected keyword argument 'log_dir_path

hotstaff commented 2 years ago

I had the same problem, but it was resolved. When it didn't work, the result of protoncpn-cli -v was:

$ protonvpn-cli -v

Proton VPN CLI v3.12.0 (protonvpn-nm-lib v3.11.0; proton-client v0.5.1)

Reinstalling the package through apt had no effect.

However, when I removed the corresponding package with pip, the display changed and it became available.

$sudo pip uninstall proton-client
Found existing installation: proton-client 0.5.1
Uninstalling proton-client-0.5.1:
  Would remove:
    /usr/local/lib/python3.8/dist-packages/proton/*
    /usr/local/lib/python3.8/dist-packages/proton_client-0.5.1.dist-info/*
Proceed (y/n)? y
  Successfully uninstalled proton-client-0.5.1
WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv

$ protonvpn-cli -v

Proton VPN CLI v3.12.0 (protonvpn-nm-lib v3.11.0; proton-client v0.7.1)

In my case, it seems that the cause was that the package included with pip was used preferentially. I would appreciate it if you could refer to it.

chutchi2 commented 2 years ago

Yeah I don't know what is going on, but @hotstaff your solution worked for me