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

termios.error: (25, 'Inappropriate ioctl for device') #11

Closed
chinmaya-n opened this issue Oct 23, 2015 · 17 comments
Closed

termios.error: (25, 'Inappropriate ioctl for device') #11

chinmaya-n opened this issue Oct 23, 2015 · 17 comments

Comments

@chinmaya-n
Copy link

Greetings!

When I try to run the program below, It gives Error as in the title.
Image is here: http://imgur.com/9no96dh

import readchar

while True:
    print "Press 'A' to Start the recording"
    print "      'Z' to Stop the recording"
    print "      'Enter' to quit the program..."

    # Read a key
    key = readchar.readkey()
    if(key == 'A'):
        print "Started Recording..."
    elif(key == 'Z'):
        print "Stopped Recording..."
    elif(key == '\r'):
        print "Exiting..."
        break
    else:
        print "Please Use only allowed keys: A, Z, Enter!" 

I tried to do just run readchar.readkey() in python console, It worked fine there. But when I tried to do it as above, this error occurred. Any help will be greatly appreciated.

Note: I'm on Ubuntu Gnome x86_64. Kernel: 3.19.* v. Using Python 2.7.

Thanks & Regards,
inblueswithu

@magmax
Copy link
Owner

magmax commented Oct 24, 2015

which version are you using? Please, use version 0.7. It is the only one I assure that works, because I tried to change my mind in order to support other things... And it didn't work.

https://pypi.python.org/pypi/readchar

Thank you!

@chinmaya-n
Copy link
Author

I installed using pip. http://imgur.com/LswwHag. You can see that my version is 0.7. readchar-0.7.dist-info

@techgnosis
Copy link

I'm having the same bug with readchar 0.7

@chinmaya-n
Copy link
Author

@techgnosis Can you please try to run my program in your PC and check if its the same error for you?

@magmax
Copy link
Owner

magmax commented Oct 25, 2015

Well... first of all, use readchar.keys.ENTER instead of \r. But this is not going to fix the problem.

I ran it in my machine (Python 2.7.10, virtualenv 13.1.2-2, readchar 0.7, ArchLinux, Awesome wm) with no problem.

How could I reproduce it?

@magmax
Copy link
Owner

magmax commented Oct 25, 2015

Ok. I have it.

Running it with thunar, it returns the error::

termios.error: (25, 'Inappropriate ioctl for device')

this is because I'm trying to get the terminal settings but it is not running in a terminal environment.

I'm not sure about a good fix for this, but forcing it to be run in a terminal. I will investigate further more.

@techgnosis
Copy link

That makes sense. I was running it in PyCharm. I didn't try to run it in
the terminal..

On Sun, Oct 25, 2015 at 2:44 PM, Miguel Ángel García <
notifications@github.com> wrote:

Ok. I have it.

Running it with thunar, it returns the error::

termios.error: (25, 'Inappropriate ioctl for device')

this is because I'm trying to get the terminal settings but it is not
running in a terminal environment.

I'm not sure about a good fix for this, but forcing it to be run in a
terminal. I will investigate further more.


Reply to this email directly or view it on GitHub
#11 (comment)
.

@chinmaya-n
Copy link
Author

@magmax You are right. I now ran the program in a terminal and it worked great! I have been trying to run it from WingIDE.

@techgnosis
Copy link

Worked for me too. Thanks guys

On Sun, Oct 25, 2015 at 7:08 PM, inblueswithu notifications@github.com
wrote:

@magmax https://github.com/magmax You are right. I tried to run the
program in the terminal and it worked great! I have been trying to run it
from WingIDE.


Reply to this email directly or view it on GitHub
#11 (comment)
.

@magmax
Copy link
Owner

magmax commented Oct 26, 2015

So nothing more is required and this issue can be closed.

By the way... Maybe this other library can help you: https://github.com/magmax/python-inquirer

I wrote python-readchar just to create it. Here you are more examples: http://python-inquirer.readthedocs.org/en/latest/examples.html

@chinmaya-n
Copy link
Author

It seems my requirement is out of scope for this library (as you are concentrating with in terminal only, but not from any other IDEs or non terminal executions). I think you can close it.

Thank you all!

@magmax
Copy link
Owner

magmax commented Oct 27, 2015

I'm afraid yes. Maybe you can use pty or https://github.com/pexpect/ptyprocess in order to make it work in a non-terminal environment.

Thank you anyways.

@magmax magmax closed this as completed Oct 27, 2015
@chinmaya-n
Copy link
Author

ThankYou. ptyprocess is interesting.

@mehditlili
Copy link

This would be useful if it works in IDE, trying to debug some code using the IDE's debugger but this error won't let me do it.

@ypchan
Copy link

ypchan commented Jul 16, 2020

Hi, guys, Do you solve the problem? I got the same exception when I run the following code:
`

code line in script

width = os.get_terminal_size().columns

run

../bin/normalizer.py input.tsv out.tsv 1> log 2> error

@kwesolowski
Copy link

For future self and similar - might be also an issue if you pass sth "defintiely not being tty", i.e. I saw it when we used local file by accident.

@fleytman
Copy link
Contributor

Partly resolution for pycharm https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003383619/comments/6589796593042 (but readkey on macos can't read shift+tab and etc)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants