【问题标题】:How to install PYODBC in Databricks如何在 Databricks 中安装 PYODBC
【发布时间】:2019-01-10 15:47:22
【问题描述】:

我必须在 Databricks 中安装 pyodbc 模块。 我曾尝试使用此命令 (pip install pyodbc),但由于以下错误而失败。

Error message

【问题讨论】:

    标签: python-3.x pyodbc databricks azure-databricks


    【解决方案1】:

    我在安装时遇到了同样的问题。这是我尝试过的方法,它奏效了。

    • Databricks 没有默认的 ODBC 驱动程序。在单个单元格中运行以下命令以安装 MS SQL ODBC 驱动程序
    %sh
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17
    
    • 在笔记本中运行它
    dbutils.fs.put("/databricks/init/<YourClusterName>/pyodbc-install.sh","""
    #!/bin/bash
    sudo apt-get update
    sudo apt-get -q -y install unixodbc unixodbc-dev
    sudo apt-get -q -y install python3-dev
    /databricks/python/bin/pip install pyodbc
    """, True)
    
    • 重启集群

    • 在代码中导入pyodbc

    【讨论】:

    • 此答案不适用于新的 Databricks 运行时,因为集群命名的初始化脚本已被弃用。请阅读上述答案中的链接并为集群范围创建一个初始化脚本。这种方式对我有用。
    【解决方案2】:

    不久前我在使用 pyobdc 连接时遇到了一些问题,我的修复细节在这里:https://datathirst.net/blog/2018/10/12/executing-sql-server-stored-procedures-on-databricks-pyspark

    我认为问题源于 Databricks 集群上的 PYTHONPATH 被设置为 Python 2 安装。

    我怀疑这些台词:

    %sh    
    apt-get -y install unixodbc-dev
    /databricks/python/bin/pip install pyodbc
    

    会为你工作。

    更新:更简单(尽管您仍然需要上面的 unixodbc-dev):

    %sh 
    sudo apt-get install python3-pip -y
    pip3 install --upgrade pyodbc
    

    【讨论】:

    • 你的集群运行的是什么版本的python?
    • 谢谢法比奥,我已经尝试了评论。但我仍然收到此错误(E:无法锁定并且无法锁定管理目录(var/lib/dpkng),是另一个进程使用它?)。请帮助我
    • 谢谢 simon,我已经在 databricks 中尝试过该命令,但它显示为已取消。请建议是否有任何替代方法。
    • 谢谢,Fabio 命令正在运行,pyodbc 已安装。但是在连接到 SQL 服务器时,我遇到了这个错误(('01000',“[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server':找不到文件(0 ) (SQLDriverConnect)"))。你能帮我解决这个问题吗?
    • 您是否阅读了我在上述答案中提供的链接?它解释了如何解决问题。
    【解决方案3】:

    右键单击要存储库的 Workspace 文件夹。

    选择创建 > 库。

    查看https://docs.databricks.com/user-guide/libraries.html了解详细信息

    【讨论】:

    • 谢谢法比奥,但我已经尝试过同样的事情。上传 .whl 文件后,我也遇到了与屏幕截图中相同的错误。请帮助我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多