【问题标题】:AWS CDK python client giving error with cdk deployAWS CDK python 客户端使用 cdk deploy 给出错误
【发布时间】:2020-04-07 18:03:18
【问题描述】:

我的堆栈:

  • python 3.6
  • Node.js 11.3.0
  • jsii-0.20.11(通过 npm 安装 aws cdk 时自动安装)

我刚刚尝试了cdk init,然后又尝试了pip install -e

在那之后,我做了cdk deploy,它给了我以下错误:

Traceback (most recent call last):
  File "app.py", line 3, in <module>
    from aws_cdk import core
  File "C:\Users\sgoud12\myfolder\myprojects\myapp\cdk\.env\lib\site-packages\aws_cdk\core\__init__.py", line 1967, in <module>
    class DependableTrait(metaclass=jsii.JSIIAbstractClass, jsii_type="@aws-cdk/core.DependableTrait"):
TypeError: __new__() got an unexpected keyword argument 'jsii_type'
Subprocess exited with error 1

(.env) C:\Users\sgoud12\myfolder\myprojects\myapp\cdk>
(.env) C:\Users\sgoud12\myfolder\myprojects\myapp\cdk>fs.js:122
    throw err;
    ^

Error: EOF: end of file, read
    at Object.readSync (fs.js:517:3)
    at SyncStdio.readLine (C:\Users\sgoud12\myfolder\myprojects\myapp\cdk\.env\lib\site-packages\jsii\_embedded\jsii\jsii-runtime.js:13350:25)
    at InputOutput.read (C:\Users\sgoud12\myfolder\myprojects\myapp\cdk\.env\lib\site-packages\jsii\_embedded\jsii\jsii-runtime.js:13300:34)
    at KernelHost.run (C:\Users\sgoud12\myfolder\myprojects\myapp\cdk\.env\lib\site-packages\jsii\_embedded\jsii\jsii-runtime.js:7231:32)
    at Immediate.setImmediate (C:\Users\sgoud12\myfolder\myprojects\myapp\cdk\.env\lib\site-packages\jsii\_embedded\jsii\jsii-runtime.js:7239:37)
    at processImmediate (timers.js:632:19)

【问题讨论】:

    标签: amazon-web-services aws-cdk


    【解决方案1】:

    将 python 版本从 3.6 升级到 3.7.5 对我来说就像是一种魅力

    【讨论】:

      【解决方案2】:

      我同意,这令人沮丧并且很难找到解决方法。使用来自@Trilliput 的链接

      我的步骤:

      1. 卸载 pip
      2. 更新自制软件
      3. 删除 aws cli
      4. 重新安装 aws cli
      5. 卸载 aws cdk
      6. 重新安装 aws cdk

      命令:

      sudo pip uninstall pip
      brew update
      sudo rm /usr/local/bin/aws
      sudo rm /usr/local/bin/aws_completer
      sudo rm -rf /usr/local/aws-cli
      curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
      sudo installer -pkg AWSCLIV2.pkg -target /
      pip3 uninstall aws-cdk.cdk
      pip3 install aws-cdk.cdk --use-feature=2020-resolver
      

      这并没有像我希望的那样工作,所以我使用了以下所有这些命令。我叫它焦土重装:

      sudo pip uninstall pip
      brew update
      sudo rm /usr/local/bin/aws
      sudo rm /usr/local/bin/aws_completer
      sudo rm -rf /usr/local/aws-cli
      brew uninstall node
      brew uninstall pyenv
      
      # CLOSE your terminal window and open a NEW terminal window.  
      # when you run [which python] you should get /usr/bin/python
      # run these commands to remove node and npm
      
      https://gist.github.com/TonyMtz/d75101d9bdf764c890ef
      
      curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
      sudo installer -pkg AWSCLIV2.pkg -target /
      
      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python get-pip.py
      python3 get-pip.py
      
      brew install python3
      
      # old CDK
      pip3 uninstall aws-cdk.cdk
      
      #new CDK
      pip3 uninstall aws-cdk.core
      
      # NEW CDK
      pip3 install aws-cdk.core
      
      #pip3 install aws-cdk.core --use-feature=2020-resolver
      
      # reinstall aws cdk
      npm install -g aws-cdk
      npm install -g npm@7.0.13
      sudo npm install -g npm@7.0.13
      npm install -g aws-cdk
      sudo npm install -g aws-cdk
      sudo -i
      sudo npm install -g aws-cdk
      cdk --version
      

      【讨论】:

        【解决方案3】:

        它通常意味着某种版本的missmarch:npm 中的aws-cdk 和python 中的aws-cdk。鉴于这是一个相当古老的问题,我想更新所有软件包甚至重新安装环境应该会有所帮助。

        官方的 aws-cdk 错误跟踪器中提到了类似的问题:

        https://github.com/aws/aws-cdk/issues/3349

        https://github.com/aws/aws-cdk/issues/3293

        【讨论】:

          猜你喜欢
          • 2022-11-01
          • 2020-11-14
          • 1970-01-01
          • 1970-01-01
          • 2020-09-30
          • 1970-01-01
          • 1970-01-01
          • 2021-11-15
          • 2022-07-16
          相关资源
          最近更新 更多