SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm on current of version 2024-03-30, and I noticed a considerable bump in the Python3 version.
Code:
dec@Ebony:~$ python --version
Python 3.11.8
That's a good number, as iirc it claims a significant speed boost, but protonvpn pukes thusly:
Code:
root@Ebony:~# protonvpn -c --cc UK
Traceback (most recent call last):
File "/usr/lib64/python3.11/importlib/metadata/__init__.py", line 563, in from_name
return next(cls.discover(name=name))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/protonvpn", line 33, in <module>
sys.exit(load_entry_point('protonvpn-cli==2.2.12', 'console_scripts', 'protonvpn')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/protonvpn", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/importlib/metadata/__init__.py", line 981, in distribution
return Distribution.from_name(distribution_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/importlib/metadata/__init__.py", line 565, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for protonvpn-cli
root@Ebony:~#
Protonvpn (the cli version on github) was working on current of 2024-03-22 (python3.9.19). Any thoughts?
Protonvpn (the cli version on github) was working on current of 2024-03-22 (python3.9.19). Any thoughts?
If you are using current you really need to stay abreast of changes in the changelog. There's also been a couple topics on LQ about the upgrade to python3.11. Everything that was built for 3.9 needs to be rebuilt for 3.11.
Also note that Proton changed the way its API is accessed in the last 3 or 4 weeks. While the protonvpn-cli (as well as -gui) build and install fine from slackbuild as well as pip3, it is nonfunctional in slackware. There have been complaints from other non-systemd distros as well. Proton supports redhat, canonical, debian and arch.
If you have a proton vpn account, it can be engaged under Networkmanager without much fuss or bother or any 3rd party software.
@Dry_Falls: IIRC, while shoehorning in the protonvpn package for Networkmanager without systemd is possible, it looked like a bit of work. So after trying that, the cli beckoned as the easy answer. The guy who maintains the protonvpn-cli is actually a protonvpn dev. Now it isn't. But I don't need the VPN ATM, I just like it.
@kgha: I rebuilt the SBo of the protonvpn-cli. As for the python module - If this helps
Code:
dec@Ebony:~$ ls -lh /var/log/packages/python-importlib_metadata*
-rw-r--r-- 1 root root 4.6K Mar 30 19:40 /var/log/packages/python-importlib_metadata-7.1.0-x86_64-2
@pan64: As for "official support" I have had issue #369 open on the github page but it doesn't seem to have got a glance. I did rebuild the SBo, because pip installed version 2.2.11, and the SBo was for 2.2.12.
@fourtysixandtwo: I take your point about changes & changelogs, but I have no intention of staying on the bleeding edge. I installed 2024-03-22, to clean out / & /home, and stick in Mate. I updated a week later because of some issues. But that's it for a while.
Dropping back to python3.9 doesn't solve it either
Code:
root@Ebony:~# protonvpn connect --cc ie
Traceback (most recent call last):
File "/usr/bin/protonvpn", line 33, in <module>
sys.exit(load_entry_point('protonvpn-cli==2.2.12', 'console_scripts', 'protonvpn')())
File "/usr/bin/protonvpn", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
File "/usr/lib64/python3.9/importlib/metadata.py", line 533, in distribution
return Distribution.from_name(distribution_name)
File "/usr/lib64/python3.9/importlib/metadata.py", line 187, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: protonvpn-cli
root@Ebony:~# python3 --version
Python 3.9.10
root@Ebony:~#
I even tried reinstalling the protonvpn-cli package under python3.9, but the error was the same.
Dropping back to python3.9 doesn't solve it either [CODE]root@Ebony:~# protonvpn connect --cc ie
.py", line 187, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: protonvpn-cli
That's because the Slackware-current package containing python3-metadata was built for Python 3.11.
Just revert to Python 3.11 and recompile protonvpn-cli plus the dependencies which are mentioned on its SBo page.
OK. will do. It was just a shot in the dark. It's unusual that things compiled on one version python don't work on another. Where does the stuff installed with pip3 stand? Or do I have to do manual compiles and stop using pip?
It's unusual that things compiled on one version python don't work on another.
That assumption is not entirely correct. Python stores its files in a versioned directory, on 64bit Slackware that would be /usr/lib64/pythonx.y/ where "x.y" has been "2.7", "3.9" and "3.11" respectively in recent times.
Meaning, if you upgrade to another minor version (e.g. from 3.9.6 to 3.9.19) things will probably not break. But if you upgrade from 3.9 to 3.11 lots of stuff stops working.
OK. will do. It was just a shot in the dark. It's unusual that things compiled on one version python don't work on another.
No, it is not true. Python developers made a lot of incompatible changes, therefore move from 3.x to 3.y usually brings on some additional "adjustments".
Yes, python .x changes can break everything. The whole python tree needs rebuilt. Sometimes all of the python modules. That's where a binary rolling release with a package manager comes in real handy.
Either use PIP or your distros package manger to keep python up to date. Not both.
OK. python3-11.9 reinstalled & python-importlib_metadata reinstalled and showing in the python3.11 site-packages. The requirements (docopt & pythondialog) are also in python3.11/site-packages.
The command 'protonvpn connect --cc IE' trundles through but throws errors at every stage. I'm somehow connected, but the errors overflowed the 64k or whatever an xfce-terminal has. Nearly anything else seems to crap out, except the disconnect, which throws a hissy fit and then disconnects . I can get away with those two commands.
http://whatismyip.com is reporting 146.70.181.39 which is a UK exit IP for Protonvpn, and is nothing like my IP. .
This certainly isn't solved, because it certainly isn't. Let's hope updates come. But it works, so I'll stop fixing it here.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.