我正在尝试使用packer在Windows机器上配置awscli。要安装awscli,请使用以下PowerShell脚本:
$download_url = 'https://s3.amazonaws.com/aws-cli/AWSCLI64.msi'
$downloaddestination = 'C:\Program Files\awscli.msi'
$checkpath='C:\Program Files\Amazon\AWSCLI'
if (Test-Path $downloaddestination) {
# // File exists do nothing
} else {
# // File does not exist download it
(New-Object System.Net.WebClient).DownloadFile($download_url, $downloaddestination)
}
$env:SEE_MASK_NOZONECHECKS = 1
Start-Process $downloaddestination /qn -Wait | Out-Null
Start-Sleep -Seconds 60
if (Test-Path $checkpath) {
Write-Host "awscli installed"
} else {
Write-Host "Installation failed"
}
我无法安装awscli,即使能够下载这个包,也无法安装MSI包。
答案 0 :(得分:0)
我使用Python安装cli,它也使更新更加容易。我通常使用云形成,云形成使用userdata调用由powershell运行的脚本。
脚本如下:
mkdir c:\setup-downloads
cd \setup-downloads
curl https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe --output python-inst.exe
.\python-inst.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
Start-Sleep -s 30
$env:Path += ";C:\Program Files\Python37"
$env:Path += ";C:\Program Files\Python37\Scripts"
pip3 install awscli
在mkdir c:\setup-downloads
处创建目录。转到该目录cd \setup-downloads
,然后使用curl下载python:curl https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe --output python-inst.exe
然后,我使用 quiet 模式运行安装,并将其设置为将其自身安装到路径中,并为每个.\python-inst.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
我等待它完成 Start-Sleep -s 30
,但是您需要重新输入Powershell以实际访问python,所以我运行以下命令来设置环境变量:
$env:Path += ";C:\Program Files\Python37"
$env:Path += ";C:\Program Files\Python37\Scripts"
现在我已经安装了python,并且配置了环境变量,我可以如下安装cli:
pip3 install awscli
如果您运行aws --version
,则可以运行
答案 1 :(得分:0)
我尝试了@Jasons答案,从autoattend syncronusCommand块调用了PowerShell文件,但是,我无法识别pip3命令。.设置内联的python env路径我觉得有点 hacky 。
签出-https://www.python.org/download/releases/2.5/msi/-解释说,使用MSI文件时-安装可以通过编程方式启动。
我的PowerShell文件现在看起来像这样
Invoke-WebRequest -Uri https://awscli.amazonaws.com/AWSCLIV2.msi -Outfile "C:\aws.msi"
Start-Process -Wait -FilePath msiexec -ArgumentList /i, "c:\aws.msi", /qn
现在,我已经在Windows服务器上自动安装了aws cli。
答案 2 :(得分:-2)
我建议通过pip默认Python安装附带的Python包管理器来改变方法并安装aws cli。 按照此guide在Windows上静默安装Python。然后你可以运行下面的命令,它将安装awscli。
pip install awscli
答案 3 :(得分:-3)
你可以在窗户上使用pip,这很容易:
1.在Python27文件夹中下载并安装Python 2.7 for Win x64(默认)[我遇到Python3.0的问题,但我可能安装错了]
https://www.python.org/downloads/
2.在控制面板,系统,高级设置中添加(即“新”)到用户或系统变量:
PYTHONPATH%PYTHONPATH%; C:\ Python27 \ Lib
3.在控制面板,系统,高级设置中,编辑系统PATH变量并在末尾添加:
; C:\ Python27; C:\ Python27 \ Scripts; C:\ Program Files \ Amazon \ AWSCLI \
4.从中下载awscli包
https://s3.amazonaws.com/aws-cli/AWSCLI64.msi
5.现在你可以在Windows DOS命令框中运行:“pip install --upgrade awscli”
6.您可以在Windows DOS命令框,powershell或powershell ise中运行cli命令。首先在powershell或win / dos命令框中运行“aws configure”
7.然后,您可以在powershell ise