8

I"m trying to use pyserial. When I do the following script.

import serial
ser= serial.serial("COM5", 9600)
ser.write("Hello worldn")
x = ser.readline()
print(x)     

Error code:

c:\Python27>python com.py
Traceback (most recent call last):
  File "com.py", line 2, in <module>
    ser= serial.serial("COM5", 9600)
AttributeError: 'module' object has no attribute 'serial'

I read a suggestion and changed it to:

from serial import serial
ser= serial.serial("COM5", 9600)
ser.write("Hello worldn
x = ser.readline()
print(x)     

I now get the error

c:\Python27>python com.py
Traceback (most recent call last):
  File "com.py", line 1, in <module>
    from serial import serial
ImportError: cannot import name serial

I read that this can be from having ini in your module, but dont' know anyting about this.

I printed my sys.path and pyserial is in there.

['C:\\Users\\Jeff\\Desktop', 'C:\\Python27\\lib\\site-packages\\distribute-0.6.4
9-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\pyserial-2.7-py2.7.egg', 'C:\\W
indows\\SYSTEM32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\
\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Pyt
hon27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11
-py2.7.egg-info']
7
  • what is your exact stack trace ? Commented Nov 1, 2013 at 14:19
  • The error you are getting means your interpreter cannot locate the serial module. Have you installed it? Are you sure you have proper permissions to use it? Commented Nov 1, 2013 at 14:23
  • 1
    Did you happen to call one of your programs serial.py? At the start of your code, add import serial and print(serial.__file__) as the first two lines. Commented Nov 1, 2013 at 14:52
  • 1
    I did name it serial.py initially, but changed it. Here is the output of the print. c:\Python27\lib\site-packages\pyserial-2.7-py2.7.egg\serial_init_.pyc Commented Nov 1, 2013 at 15:02
  • 1
    I'll second that. DONT NAME YOUR FILE SERIAL.PY. sorry for all caps but I've been burned by this twice in two years, and I missed this comment in this file both times. Thanks :) Commented Feb 6, 2015 at 12:08

1 Answer 1

14

It should be:

import serial
ser = serial.Serial("COM5", 9600)

Note the capital 'S' in serial.Serial

Sign up to request clarification or add additional context in comments.

2 Comments

That appears to be it! At least the error went away, I'll have to wait until I"m home to be sure it's actually talking to the port. Dang capitalization and indentation get me every time :). Thanks
import serial ; help(serial)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.