Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImportError: cannot import name 'Serial' from 'serial' (unknown location)

Whenever i execute the code below it gives me following Error:

ImportError: cannot import name 'Serial' from 'serial' (unknown location)

Code:

  from serial import Serial

  arduinodata = Serial('com4',9600)

  print("Enter n to ON LED and f to OFF LED")

  while 1:
    input_data = raw_input()
    print ("You Entered"+input_data)
    
    if (input_data == 'n'): 
        arduinodata.write(b'1')
        print("LED ON")

    if (input_data == 'f'):
        arduinodata.write(b'0')
        print("LED OFF")

I have installed all the required python modules. Like pyserial, pyfirmata etc but it is continuously giving me this error.

like image 778
Kashif Iftikhar Avatar asked Feb 03 '20 06:02

Kashif Iftikhar


3 Answers

I encountered the same problem. I first uninstalled pyserial from all pip, pip3, and conda (I had it on all 3), and then re-installed it. It then worked fine for me. Hope that helps!

like image 95
Swati Srivastava Avatar answered Sep 18 '22 04:09

Swati Srivastava


I got exactly this problem, as well. It was caused by the "pyserial" and "serial" libraries installed on per-user basis with pip while pyserial was also installed system-wide (possibly in a different version, using the Linux package manager).

Solution

Removing the per-user version fixed the problem in my case.

like image 36
Ruediger Avatar answered Sep 19 '22 04:09

Ruediger


Most likely missing an

 __init__.py 

file or the module, or the file sub-directory for the module (Serial) is on a different layer than the file executable. Hope that helps :).

like image 30
FishingCode Avatar answered Sep 19 '22 04:09

FishingCode