I'm trying to create a program with sqlite3 database using Ubuntu (Xubuntu 14.04) and the pre-installed version of Python. I tried if the first lines are working but there is already an error. I installed "python-sqlite" and "sqlite3". Can anyone help?
import sqlite3
connection = sqlite3.connect('test.db')
cursor = connection.cursor()
cursor.execute('CREATE TABLE test ( id INTEGER, first INTEGER, second TEXT, third TEXT, other INTEGER)')
connection.commit()
The output is:
user@device:~/folder$ python sqlite3.py
Traceback (most recent call last):
File "sqlite3.py", line 1, in <module>
import sqlite3
File "/home/michael/ownCloud/sqlite3.py", line 3, in <module>
connection = sqlite3.connect('test.db')
AttributeError: 'module' object has no attribute 'connect'
Thank's in advance!
The error message shows you've named a file sqlite3.py
:
/home/michael/ownCloud/sqlite3.py"
which masks the standard module of the same name. Your sqlite3.py
does not define connect
, hence the error.
The solution is to rename your file to something else.
As Jim Raynor points out, importing sqlite3
will also create a .pyc
file in /home/michael/ownCloud/
which would also have to be deleted before the sqlite3
module in the standard lib can be found.
You need to change your script name. sqlite3
is the name of your script and of the package you want to import, so Python import your script instead of the package, hence the error.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With