在Python 3.x中使用雪花连接器python的问题

时间:2020-06-30 13:43:23

标签: python snowflake-cloud-data-platform attributeerror

我花了半天的时间自己解决这个问题,但是现在我的想法和搜索请求都用光了。 因此,基本上我想要使用snowflake-connector-python包连接到我们的Snowflake数据库。我能够很好地安装该软件包(连同所有已自动安装的相关软件包),而我目前的pip3 list结果如下:

Package                    Version
-------------------------- ---------
asn1crypto                 1.3.0
azure-common               1.1.25
azure-core                 1.6.0
azure-storage-blob         12.3.2
boto3                      1.13.26
botocore                   1.16.26
certifi                    2020.6.20
cffi                       1.14.0
chardet                    3.0.4
cryptography               2.9.2
docutils                   0.15.2
gitdb                      4.0.5
GitPython                  3.1.3
idna                       2.9
isodate                    0.6.0
jmespath                   0.10.0
msrest                     0.6.17
oauthlib                   3.1.0
oscrypto                   1.2.0
pip                        20.1.1
pyasn1                     0.2.3
pyasn1-modules             0.0.9
pycparser                  2.20
pycryptodomex              3.9.8
PyJWT                      1.7.1
pyOpenSSL                  19.1.0
python-dateutil            2.8.1
pytz                       2020.1
requests                   2.23.0
requests-oauthlib          1.3.0
s3transfer                 0.3.3
setuptools                 47.3.1
six                        1.15.0
smmap                      3.0.4
snowflake-connector-python 2.2.8
urllib3                    1.25.9
wheel                      0.34.2

请明确一点,这是一个干净的python-venv,尽管我也在主要版本上尝试过。

在VScode中运行以下代码时:

#!/usr/bin/env python
import snowflake.connector

# Gets the version
ctx = snowflake.connector.connect(
    user='user',
    password='pass',
    account='acc')

我收到此错误:

AttributeError: module 'snowflake' has no attribute 'connector'

有人知道这里的问题是什么吗?

3 个答案:

答案 0 :(得分:2)

AttributeError: module 'snowflake' has no attribute 'connector'

您的测试代码可能存在于名为snowflake.py的文件中,这会导致导入(it is ending up importing itself)发生冲突。将文件重命名为其他名称,它应该允许您导入正确的模块并运行连接器功能。

答案 1 :(得分:0)

尝试显式导入“连接器”。我有同样的错误。

import pandas as pd
import snowflake as sf
from snowflake import connector

答案 2 :(得分:0)

我再次安装了python 3.6。 我从代码中删除了这一行

#!/usr/bin/env python

有效。