我正在尝试使用Azure Batch上的VM,使用Python包Pyodbc来运行Python作业。然而,我无法(显然(在运行到ModuleNotFoundError: No module named 'pyodbc'
时正确安装它。我使用以下命令(启动任务(在我的VM(Ubuntu(上安装ODBC驱动程序,安装工作正常:
/bin/bash -c 'sudo -H apt-get -y update &&
sudo -H dpkg --configure -a &&
sudo -H apt-get install -y python3-pip &&
sudo -H pip3 install --upgrade pip &&
sudo -H su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo -H apt-get update
sudo -H ACCEPT_EULA=Y apt-get install -y msodbcsql17
sudo -H apt-get install -y unixodbc-dev &&
sudo -H pip3 install pandas &&
sudo -H pip3 -H install egg &&
sudo -H pip3 -H install azure-storage-common &&
sudo -H pip3 install --upgrade pyodbc &&
sudo -H pip3 install azure-storage-blob'
更糟糕的是,我可以毫无问题地运行import pandas
和其他包。有人能帮我吗?
ODBC安装指南:https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-服务器-2017
您可能同时安装了多个版本的Python,或者在一个环境中安装模块,但在另一个环境下运行脚本。
一些类似的问题:
- ModuleNotFoundError:将pyodbc导入py脚本时,没有名为"pyodbc"的模块
- "import pyodbc"导致"没有名为pyodbc的模块">
- ModuleNotFoundError:没有名为"pyodbc"的模块#768
建议在虚拟环境的上下文中运行Python代码,这样它就可以在环境的确切上下文中运行,每个库都有特定的版本,这有助于避免此类错误。