我正在使用Azure应用服务制作我的网站。这个网站在我的本地主机上运行得很好,使用了sqllite数据库和SQLAlchemy。现在我尝试使用以下命令切换到azuresqldb:https://gist.github.com/timmyreilly/f4a351eda5dd45aa9d56411d27573d7c
我按照指示走了,但我发现了这个错误。我查找错误,发现了这个错误:pyodbc - error while running application within a container,但它没有帮助,因为那里的解决方案说要做sudo apt install unixodbc-dev
,但是azurecli不允许我使用sudo,所以我不确定如何才能做到这一点。你们能帮帮我吗?我该怎么办?在
2019-02-15T00:55:28.174067202Z File "/home/site/wwwroot/antenv/lib/python3.7/site-packages/sqlalchemy/connectors/pyodbc.py", line 38, in dbapi
2019-02-15T00:55:28.174070902Z return __import__('pyodbc')
2019-02-15T00:55:28.174195702Z ImportError: libodbc.so.2: cannot open shared object file: No such file or directory
根据您的错误信息和@IvanYang注释,您将Python应用部署在基于Docker的Azure app Service for Linux容器上。在
因此,您可以参考正式文档^{} 连接到应用程序的Linux系统,通过
sudo apt install unixodbc-dev
安装丢失的unixodbc-dev
包,然后在重新启动应用程序服务之前使应用程序正常工作。在安装的
unixodbc-dev
的更改是docker容器的临时更改,您可以参考现有的SO线程Install unixodbc-dev for a Flask web app on Azure App Service来了解它。保持它正常工作的唯一方法是将下面的内容添加到您的.dockerfile
文件中,或者使用在Linux上创建App Service实例时安装了所需软件包的docker映像。在相关问题 更多 >
编程相关推荐