【问题标题】:Issue with using snowflake-connector-python with Python 3.x在 Python 3.x 中使用 snowflake-connector-python 的问题
【发布时间】:2020-10-20 20:08:48
【问题描述】:

我花了半天时间试图自己解决这个问题,但现在我的想法和谷歌搜索请求已经用完了。 所以基本上我想要的是使用snowflake-connector-python 包连接到我们的雪花数据库。我能够很好地安装包(连同所有自动安装的相关包),我当前的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'

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 遇到了同样的问题,这解决了。 Snowflake 是一个很棒的工具,带有低于标准的 python 库——甚至他们的文档也使用snowflake.connector! :-/
      【解决方案3】:

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

      #!/usr/bin/env python
      

      成功了。

      【讨论】:

        猜你喜欢
        • 2022-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-29
        • 2018-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多