2015-10-01 26 views
1

命令「aws configure」給出以下錯誤!這個命令在工作之前!aws配置命令不能在cli上工作

「AWS配置」:

$ aws configure 
Traceback (most recent call last): 
    File "/usr/bin/aws", line 23, in <module> 
    sys.exit(main()) 
    File "/usr/bin/aws", line 19, in main 
    return awscli.clidriver.main() 
    File "/usr/share/awscli/awscli/clidriver.py", line 44, in main 
    driver = create_clidriver() 
    File "/usr/share/awscli/awscli/clidriver.py", line 53, in create_clidriver 
    event_hooks=emitter) 
    File "/usr/share/awscli/awscli/plugin.py", line 49, in load_plugins 
    plugin.awscli_initialize(event_hooks) 
    File "/usr/share/awscli/awscli/handlers.py", line 73, in awscli_initialize 
    register_removals(event_handlers) 
    File "/usr/share/awscli/awscli/customizations/removals.py", line 32, in register_removals 
    'verify-email-address']) 
    File "/usr/share/awscli/awscli/customizations/removals.py", line 45, in remove 
    self._create_remover(remove_commands)) 
    File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 64, in register 
    self._verify_accept_kwargs(handler) 
    File "/usr/lib/python3/dist-packages/botocore/hooks.py", line 84, in _verify_accept_kwargs 
    argspec = inspect.getargspec(func) 
    File "/usr/lib/python3.4/inspect.py", line 936, in getargspec 
    raise ValueError("Function has keyword-only arguments or annotations" 
ValueError: Function has keyword-only arguments or annotations, use getfullargspec() API which can support them 

不明白什麼是 「ValueError異常」

回答

4

你可能已經升級蟒蛇3.4.1。

爲Ubuntu 14.04託管的AWS CLI和botocore的版本與python 3.4.1+不兼容。 (source

通過apt-get安裝的CLI版本已過期。 Python 3.4.1通過getargspec()函數引入了一個突破性變化,我們在botocore中使用它。 (source

您可以嘗試:(我沒有與我TESTBOX驗證)

sudo apt-get remove awscli 
sudo apt-get install python-pip 
sudo pip install awscli 
sudo pip install upgrade botocore 
+0

我的Python版本 #蟒蛇--version 的Python 2.7.6 –

+0

$ sudo的PIP安裝升級botocore 下載/解壓升級 無法找到發現升級 滿足需求升級 清理任何下載... 沒有在所有發行版中/home/ashish/.pip/pip.log –

+0

$保存調試日誌失敗貓/home/ashish/.pip/pip。日誌 ------------------------------------------------ ------------ /usr/bin/pip運行於2014年10月1日16:12:13 下載/解包升級 獲取頁面https://pypi.python.org/simple/升級/ 要搜索升級版本的URL: * https://pypi.python.org/simple/upgrade/ 分析頁面鏈接https://pypi.python.org/simple/upgrade/ 找不到任何滿足要求升級的下載 正在清理... 刪除臨時目錄的/ tmp/pip_build_root ...找到升級 –

0

似乎AWS CLI不使用Python 3

檢查很好地工作。 getargspec(func)

獲取Python函數參數的名稱和默認值。返回名爲元組ArgSpec(args,varargs,關鍵字,默認值)。 args是參數名稱的列表。可變參數和關鍵字是*和**參數的名稱或無。 defaults是默認參數值的元組,或者如果沒有默認參數,則爲None;如果這個元組有n個元素,它們對應於args中列出的最後n個元素。

從版本3.0開始棄用:使用signature()和Signature Object,它們爲可調參數提供了一個更好的內省API。這個函數將在Python 3.6中被移除。

你可以用python 2.6或2.7來試試嗎?

Requires Python 2.6.5 or higher. 

參見:

https://docs.python.org/3/library/inspect.html#inspect.getargspec

https://aws.amazon.com/cli/