Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从ubuntu docker映像中删除perl会导致pyodbc失败_Python_Docker_Ubuntu_Pyodbc - Fatal编程技术网

Python 从ubuntu docker映像中删除perl会导致pyodbc失败

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

使用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.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
有关详细信息,请参阅以下错误报告: