os.getenv 環境変数の値を取得するために使用され、Noneを返します。 その変数が存在しない場合、デフォルトで。接続文字列を渡しますが、これは(ほぼ確実に)環境変数としては存在しません。したがって、Noneを返します 、これはcreate_engineに与えられます 、接続文字列が必要なため失敗します。接続文字列を直接渡すだけです:
engine = create_engine("postgresql://postgres:example@sqldat.com:5432/lecture3")