0

I have been trying different methods to solve this problem below but I seem to always get the same error on my Windows. (Btw, I'm using the Anaconda terminal)

I have tried to execute many different solutions as rec by stack overflow forums but to no avail. Hahah apologies, I'm just starting out on this tutorial so i am quite clueless as to how to proceed.

Code

import csv
import os

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))

def main():
    f = open("flights.csv")
    reader = csv.reader(f)
    for origin, destination, duration in reader: 
        db.execute("INSERT INTO flights (origin, destination, duration) VALUES (:origin, :destination, :duration)",
{"origin": origin, "destination": destination, "duration": duration})
        print(f"Added flight from {origin} to {destination} lasting {duration} minutes.")
    db.commit()

if __name__ == "__main__":
    main()

Error Message

Traceback (most recent call last):
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2345, in _wrap_pool_connect
    return fn()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 364, in connect
    return _ConnectionFairy._checkout(self)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 778, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 495, in checkout
    rec = pool._do_get()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\impl.py", line 140, in _do_get
    self._dec_overflow()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\langhelpers.py", line 69, in __exit__
    exc_value, with_traceback=exc_tb,
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py", line 178, in raise_
    raise exception
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\impl.py", line 137, in _do_get
    return self._create_connection()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 309, in _create_connection
    return _ConnectionRecord(self)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 440, in __init__
    self.__connect(first_connect_check=True)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 661, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\langhelpers.py", line 69, in __exit__
    exc_value, with_traceback=exc_tb,
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py", line 178, in raise_
    raise exception
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 656, in __connect
    connection = pool._invoke_creator(self)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
    return dialect.connect(*cargs, **cparams)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\default.py", line 490, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\psycopg2\__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  password authentication failed for user "postgres"


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "import.py", line 20, in <module>
    main()
  File "import.py", line 15, in main
    {"origin": origin, "destination": destination, "duration": duration}) # substitute values from CSV line into SQL command, as per this dict
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\orm\scoping.py", line 163, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\orm\session.py", line 1291, in execute
    return self._connection_for_bind(bind, close_with_result=True).execute(
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\orm\session.py", line 1147, in _connection_for_bind
    engine, execution_options
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\orm\session.py", line 433, in _connection_for_bind
    conn = bind._contextual_connect()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2311, in _contextual_connect
    self._wrap_pool_connect(self.pool.connect, None),
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2349, in _wrap_pool_connect
    e, dialect, self
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 1591, in _handle_dbapi_exception_noconnection
    sqlalchemy_exception, with_traceback=exc_info[2], from_=e
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py", line 178, in raise_
    raise exception
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py", line 2345, in _wrap_pool_connect
    return fn()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 364, in connect
    return _ConnectionFairy._checkout(self)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 778, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 495, in checkout
    rec = pool._do_get()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\impl.py", line 140, in _do_get
    self._dec_overflow()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\langhelpers.py", line 69, in __exit__
    exc_value, with_traceback=exc_tb,
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py", line 178, in raise_
    raise exception
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\impl.py", line 137, in _do_get
    return self._create_connection()
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 309, in _create_connection
    return _ConnectionRecord(self)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 440, in __init__
    self.__connect(first_connect_check=True)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 661, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\langhelpers.py", line 69, in __exit__
    exc_value, with_traceback=exc_tb,
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py", line 178, in raise_
    raise exception
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\pool\base.py", line 656, in __connect
    connection = pool._invoke_creator(self)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
    return dialect.connect(*cargs, **cparams)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\sqlalchemy\engine\default.py", line 490, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\psycopg2\__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL:  password authentication failed for user "postgres"

(Background on this error at: http://sqlalche.me/e/e3q8)
Andrew
  • 1
  • 1
  • What "value" should I put in my defined variable "DATABASE_URL" in my environment variable? – Andrew Jun 04 '20 at 08:29
  • I would focus on here in the error message. psycopg2.OperationalError: FATAL: password authentication failed for user "postgres" – Enis Arik Jun 04 '20 at 14:06
  • ooh yeah, would you know how to solve this issue? Thanks!! – Andrew Jun 05 '20 at 06:10
  • There are some solutions on SO about this. Here is the one, https://stackoverflow.com/questions/55038942/fatal-password-authentication-failed-for-user-postgres-postgresql-11-with-pg – Enis Arik Jun 05 '20 at 06:43

0 Answers0