raymontag / keepassc

KeePassC is a curses-based password manager compatible to KeePass v.1.x and KeePassX
http://raymontag.github.com/keepassc/
ISC License
310 stars 23 forks source link

Curses fails to open O_o #46

Closed DevonVille closed 11 years ago

DevonVille commented 11 years ago

I get so many errors I'm embarrassed:) When I prompt for an entry from the command line, keepassc manages to find them and print them to stdout.

but when I try to open the curses interface, it throws out an error:

if self.open_db() is False:
File "/usr/local/lib/python3.2/dist-packages/keepassc/control.py", line 837, in open_db
password = self.get_password('Password: ')
File "/usr/local/lib/python3.2/dist-packages/keepassc/control.py", line 183, in get_password
win_size=(1, self.xsize), title=std, pw_mode=True)()
File "/usr/local/lib/python3.2/dist-packages/keepassc/editor.py", line 93, in __call__
return self.run()
File "/usr/local/lib/python3.2/dist-packages/keepassc/editor.py", line 439, in run
loop = self.get_key()
File "/usr/local/lib/python3.2/dist-packages/keepassc/editor.py", line 497, in get_key
c = self.stdscr.get_wch()
AttributeError: '_curses.curses window' object has no attribute 'get_wch'

It does so even if I add the path to the DB and key file in advance through the CLI, i.e. keepassc -d /path/to/database.kdb -k /path/to/keyfile

raymontag commented 11 years ago

Sorry you need Python 3.3 instead of 3.2. Look at issue #31

DevonVille commented 11 years ago

Uh huh...Maybe it should be written in the README as well, as it only says python 3 is required. Thanks anyway:)

raymontag commented 11 years ago

Oh, I thought it's written there. Will add this.

smartsammler commented 10 years ago

I get this error with python 3.4.0, too. Compiled Python 3.4.0 for arm and then PyCrypto via pip3.4 installed and keepassc and kppy with python3.4 setup.py install. The system default's Python is 2.7 though.

raymontag commented 10 years ago

If Python 2.7 is your default, have you started keepassc with 'python3.4 /path/to/keepassc'? Because keepassc has '#!/usr/bin/env python' and not '... python3'.

smartsammler commented 10 years ago

Yes, I started it with python3.4 ./bin/keepassc. and with a link to python3.4 ~/bin/python so that /usr/bin/env python returns a python3.4-shell.

raymontag commented 10 years ago

Ok, that is interesting. I've tested KeePassC on a Raspberry Pi with ArchLinux for ARM and it works...