Попытка создать контейнер docker с помощью инструментов MSBuild, Pyhon, pip и Python - PullRequest
1 голос
/ 13 марта 2020

Это моя последняя попытка, но безуспешная. У меня есть python скрипт, который я пытаюсь создать в контейнере. Проблема в том, что скрипт использует библиотеку office365, для работы которой требуются инструменты MS Build. Поэтому я изо всех сил пытался выяснить, как создать контейнер MSBuild Tools / Python с функциональностью 'pip'. Есть идеи?!

FROM python:3.8.0-windowsservercore

ADD https://aka.ms/vs/15/release/vs_buildtools.exe C:\\Downloads\\vs_buildtools.exe ADD https://dist.nuget.org/win-x86-commandline/v4.3.0/nuget.exe C:\\Nuget\\nuget.exe

RUN C:\\Downloads\\vs_buildtools.exe --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.NetCoreBuildTools --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.WebBuildTools --quiet --wait RUN SETX /M Path "%Path%;C:\\Nuget;C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\MSBuild\\15.0\\Bin"

# Install Dependencies 
RUN pip install pandas 
RUN pip install datetime 
RUN pip install tqdm 
RUN pip install office365

# Add Script ADD AutoDemandLeadtime.py /

# Run CMD [ "python", "./AutoDemandLeadtime.py" ]

1 Ответ

0 голосов
/ 14 марта 2020

Это действительно сработало для меня !!!

# escape=`

FROM mcr.microsoft.com/dotnet/framework/sdk:4.8

SHELL ["cmd", "/S", "/C"]

ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\Temp\vs_buildtools.exe
ADD https://aka.ms/vs/16/release/channel C:\Temp\VisualStudio.chman
RUN C:\Temp\vs_buildtools.exe `
    --quiet --wait --norestart --nocache `
    --installPath C:\BuildTools `
    --channelUri C:\Temp\VisualStudio.chman `
    --installChannelUri C:\Temp\VisualStudio.chman `
    --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended `
    --add Microsoft.Component.MSBuild `
 || IF "%ERRORLEVEL%"=="3010" EXIT 0

RUN powershell.exe -ExecutionPolicy RemoteSigned `
  iex (new-object net.webclient).downloadstring('https://get.scoop.sh'); `
  scoop install python git

# Install Dependencies
RUN pip install pandas
RUN pip install datetime
RUN pip install tqdm
RUN pip install office365

# Add Script
ADD AutoDemandLeadtime.py /

ENTRYPOINT C:\BuildTools\Common7\Tools\VsDevCmd.bat &&
CMD [ "python", "./AutoDemandLeadtime.py" ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...