Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gnome dependencies ImportError on headless server #647

Closed
bermudi opened this issue Aug 18, 2019 · 9 comments
Closed

Gnome dependencies ImportError on headless server #647

bermudi opened this issue Aug 18, 2019 · 9 comments
Labels
duplicate This issue or pull request already exists needs more info Further information is requested 📌 This can't go stale support End user support

Comments

@bermudi
Copy link

bermudi commented Aug 18, 2019

I'm getting a bunch of ImportErrors for what looks like gnome dependencies. The thing is, I want to use jrnl on a headless server to record the changes I make so I don't need any keyrings or encryption.

I remember using jrnl like this a few years back and this wasn't a problem back then, what do I need to change?

user@seedbox-vps:~$ jrnl
Error initializing plugin EntryPoint('Gnome', 'keyrings.alt.Gnome', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/user/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/Gnome.py", line 11, in <module>
    from keyring.py27compat import unicode_str
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('Google', 'keyrings.alt.Google', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/user/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/Google.py", line 18, in <module>
    from keyring.py27compat import input, pickle
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('Windows (alt)', 'keyrings.alt.Windows', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/user/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/Windows.py", line 9, in <module>
    from . import file_base
  File "/usr/lib/python3/dist-packages/keyrings/alt/file_base.py", line 7, in <module>
    from keyring.py27compat import configparser
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('file', 'keyrings.alt.file', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/user/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/file.py", line 9, in <module>
    from keyring.py27compat import configparser
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('kwallet', 'keyrings.alt.kwallet', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/user/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/kwallet.py", line 6, in <module>
    from keyring.py27compat import unicode_str
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('pyfs', 'keyrings.alt.pyfs', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/user/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/pyfs.py", line 5, in <module>
    from keyring.py27compat import configparser
ImportError: No module named 'keyring.py27compat'
[Compose Entry; press Ctrl+D to finish writing]
@wren wren added needs more info Further information is requested support End user support labels Aug 20, 2019
@wren
Copy link
Member

wren commented Aug 20, 2019

Hi, thanks for the report.

Can you please provide a bit more info?

  • jrnl version
  • python version
  • how did you install jrnl?

Thanks!

@bermudi
Copy link
Author

bermudi commented Aug 20, 2019

oh sorry about that!

Debian 9.2, using python 3.5.3, installed using pip3 install jrnl, then added ~/.local/bin to path and loading from there.

@gregorybodnar
Copy link
Contributor

@bermudi What is the result if you check the list of back-ends for keyring:

keyring --list-backends

@wren
Copy link
Member

wren commented Aug 25, 2019

@bermudi We have a new major version coming out soon with a lot of bug fixes. If you have a chance to install the release candidate (pip install jrnl==2.0.0rc4) and report back, I would highly appreciate it.

@bermudi
Copy link
Author

bermudi commented Aug 27, 2019

daniel@cs-seedbox:~$ sudo pip3 install jrnl==2.0.0rc4
Requirement already satisfied: jrnl==2.0.0rc4 in /usr/local/lib/python3.5/dist-packages
Requirement already satisfied: python-dateutil>=2.2 in /usr/local/lib/python3.5/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: asteval>=0.9.8 in /usr/local/lib/python3.5/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: tzlocal>=1.2 in /usr/local/lib/python3.5/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: six>=1.10.0 in /usr/lib/python3/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: pyyaml>=3.11 in /usr/local/lib/python3.5/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: pyxdg>=0.25 in /usr/lib/python3/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: pytz>=2015.7 in /usr/lib/python3/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: keyring>=7.3 in /usr/lib/python3/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: passlib>=1.6.2 in /usr/local/lib/python3.5/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: cryptography>=1.4 in /usr/lib/python3/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: parsedatetime>=1.5 in /usr/lib/python3/dist-packages (from jrnl==2.0.0rc4)
Requirement already satisfied: secretstorage in /usr/lib/python3/dist-packages (from keyring>=7.3->jrnl==2.0.0rc4)
daniel@cs-seedbox:~$ jrnl
Error initializing plugin EntryPoint('Gnome', 'keyrings.alt.Gnome', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/daniel/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/daniel/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/Gnome.py", line 11, in <module>
    from keyring.py27compat import unicode_str
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('Google', 'keyrings.alt.Google', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/daniel/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/daniel/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/Google.py", line 18, in <module>
    from keyring.py27compat import input, pickle
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('Windows (alt)', 'keyrings.alt.Windows', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/daniel/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/daniel/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/Windows.py", line 9, in <module>
    from . import file_base
  File "/usr/lib/python3/dist-packages/keyrings/alt/file_base.py", line 7, in <module>
    from keyring.py27compat import configparser
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('file', 'keyrings.alt.file', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/daniel/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/daniel/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/file.py", line 9, in <module>
    from keyring.py27compat import configparser
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('kwallet', 'keyrings.alt.kwallet', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/daniel/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/daniel/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/kwallet.py", line 6, in <module>
    from keyring.py27compat import unicode_str
ImportError: No module named 'keyring.py27compat'
Error initializing plugin EntryPoint('pyfs', 'keyrings.alt.pyfs', None, Distribution('keyrings.alt', '1.3')).
Traceback (most recent call last):
  File "/home/daniel/.local/lib/python3.5/site-packages/keyring/backend.py", line 188, in _load_plugins
    init_func = ep.load()
  File "/home/daniel/.local/lib/python3.5/site-packages/entrypoints.py", line 82, in load
    mod = import_module(self.module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/keyrings/alt/pyfs.py", line 5, in <module>
    from keyring.py27compat import configparser
ImportError: No module named 'keyring.py27compat'
[Compose Entry; press Ctrl+D to finish writing]
daniel@cs-seedbox:~$ keyring --list-backends
-bash: keyring: command not found

@draeath
Copy link

draeath commented Sep 6, 2019

Looks like keyring requires you to be running the gnome keyring and dbus daemons even in headless configurations.

I suggest the keyring-specific jrnl code be bypassed (including importing the keyring module) if a particular argument is passed. Users in this situation could then easily just alias jrnl so that this argument is silently passed.

@stale
Copy link

stale bot commented Nov 5, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Inactive issue: will be closed soon if no activity label Nov 5, 2019
@wren wren added the 📌 This can't go stale label Nov 5, 2019
@stale stale bot removed the stale Inactive issue: will be closed soon if no activity label Nov 5, 2019
@draeath
Copy link

draeath commented Nov 6, 2019

So, this problem still exists. Probably shouldn't be flagged stale.

@wren wren added the duplicate This issue or pull request already exists label Aug 16, 2020
@wren
Copy link
Member

wren commented Aug 16, 2020

Closing in favor of #1020. That issue will fix this one, too, and is the more general issue.

@wren wren closed this as completed Aug 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists needs more info Further information is requested 📌 This can't go stale support End user support
Projects
None yet
Development

No branches or pull requests

4 participants