Python 从ubuntu docker映像中删除perl会导致pyodbc失败
使用python和pyodbc准备基于Ubuntu20.04的映像时遇到预期问题Python 从ubuntu docker映像中删除perl会导致pyodbc失败,python,docker,ubuntu,pyodbc,Python,Docker,Ubuntu,Pyodbc,使用python和pyodbc准备基于Ubuntu20.04的映像时遇到预期问题 FROM ubuntu:20.04 # install mssql odbc driver RUN apt-get update && apt-get upgrade -y && apt-get install -y curl gnupg build-essential RUN curl https://packages.microsoft.com/keys/microsoft
FROM ubuntu:20.04
# install mssql odbc driver
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl gnupg build-essential
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev
# install python 3.7.9 from source
RUN apt-get install -y python3 python3-pip
# clean up
# this does not work
RUN apt-get remove -y perl curl gnupg && apt-get autoremove -y
# this works
# RUN apt-get remove -y curl gnupg && apt-get autoremove -y
RUN pip3 install pyodbc
如果未删除perl,则pyodbc的安装将平安无事,但如果删除perl,则会显示以下错误:
src/pyodbc.h:56:10: fatal error: sql.h: No such file or directory
好像unixodbc dev由于某种原因也被删除了一样。以前有人碰到过这个吗?如果需要perl,apt get
会不会阻止它被删除?或者我需要安装一组不同的c绑定来实现这一点
在安装msodbcsql17之后运行apt get install-f,也没有任何帮助
谢谢。
unixodbc dev
作为可传递依赖项安装,并在不再需要时(即在删除perl之后)自动删除。您需要显式安装它:
RUN apt-get install -y unixodbc-dev
有关详细信息,请参阅以下错误报告:
unixodbc dev
作为可传递依赖项安装,并在不再需要时自动删除,即在删除perl之后。您需要显式安装它:
RUN apt-get install -y unixodbc-dev
有关详细信息,请参阅以下错误报告: