2 回答

TA貢獻(xiàn)1871條經(jīng)驗 獲得超13個贊
恐怕azure.storage
PyPI中沒有命名的包,應(yīng)該是azure-storage
,所以命令RUN pip3 install azure.storage
不正確。實際上,當(dāng)命令pip install azure.storage
安裝Azure Storage SDK for Python時,它也會下載azure_storage-0.36.0-py2.py3-none-any.whl
安裝azure-storage
包,出現(xiàn)一些問題,如下圖。
我認(rèn)為在圖片的紅色框上面顯示的問題會打破進步的容器旁邊安裝一些需要的包的azure-storage
像cffi
,cryptography
等等。所以我建議你可以使用corrent包名azure-storage
再試一次。

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊
我無法使用 ubuntu 16.04 映像使其工作,但是,它可以使用 python 3.6 映像工作。
正如彼得潘在他的回答中指出的那樣,包名是錯誤的。應(yīng)該azure-storage不是azure.storage。將其更改為正確的名稱后問題仍然存在(看起來即使名稱錯誤,它仍然能夠獲得正確的包)。這可能是我機器上的本地問題,我不知道,我現(xiàn)在只能推測。
無論如何,它使用當(dāng)前基于 debian 9 的 python 3.6 映像確實可以工作,沒有任何問題,因此為我解決了這個問題。
如果其他人在使用 python 連接到 azure blob 存儲或其他 azure 功能以及 azure SQL 時遇到類似問題,這是我最終使用的:
FROM python:3.6
RUN apt-get update && apt-get install -y \
curl apt-utils apt-transport-https debconf-utils gcc build-essential
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
RUN ACCEPT_EULA=Y apt-get -y install msodbcsql17
RUN apt-get install -y unixodbc-dev
COPY /app /app
WORKDIR /app
RUN pip install -r requirements
CMD ["python", "val.py"]
Azure SDK 應(yīng)該是開箱即用的,所有其他東西都是用于通過 ODBC 連接到 SQL。
可以說像 gcc 這樣的東西不應(yīng)該包含在生產(chǎn)圖像中,但這與這個問題并不真正相關(guān)。
添加回答
舉報