[英]Facing issue while installing AWS ClusterClient with PHP 8.1 Amazon Linux 2
[英]Installing AWS CDK on Amazon Linux 2
根据此处的说明,应该可以在 CloudFormation 中安装 CDK package 以进行 Python 开发。
我在 eu-west-2 中使用 t2.micro Amazon Linux 2: ami-0dd555eb7eb3b7c82 只是为了完整性。
运行指令 state: python -m pip install aws-cdk-lib
这失败并显示"/usr/bin/python: No module named pip"
,但用 python3 替换 python 解决了问题,安装完成时显示以下消息:
Installing collected packages: attrs, typing-extensions, cattrs, six, python-dateutil, jsii, publication, constructs, aws-cdk-lib
Successfully installed attrs-21.4.0 aws-cdk-lib-2.13.0 cattrs-1.10.0 constructs-10.0.69 jsii-1.54.0 publication-0.0.3 python-dateutil-2.8.2 six-1.16.0 typing-extensions-4.1.1
此外,当在 python3 解释器中执行 >>>help('modules') 现在显示 aws_cdk - 因此我假设一切都很好!
说明表明下一步是使用导入运行 python - 所以我创建了这个:
#!/usr/bin/python3
import aws_cdk
print('hello')
但是,运行它会返回很多错误消息。 我已经着手查看提到的文件并试图找出我做错了什么,但我已经走到了死胡同。 我想知道是否有人有任何想法?
Traceback (most recent call last):
File "/usr/lib64/python3.7/importlib/resources.py", line 188, in path
yield Path(reader.resource_path(resource))
File "/usr/local/lib/python3.7/site-packages/jsii/_runtime.py", line 43, in load
_kernel.load(assembly.name, assembly.version, os.fspath(assembly_path))
File "/usr/local/lib/python3.7/site-packages/jsii/_kernel/__init__.py", line 269, in load
self.provider.load(LoadRequest(name=name, version=version, tarball=tarball))
File "/usr/local/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 338, in load
return self._process.send(request, LoadResponse)
File "/usr/local/lib/python3.7/site-packages/jsii/_utils.py", line 24, in wrapped
stored.append(fgetter(self))
File "/usr/local/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 333, in _process
process.start()
File "/usr/local/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 259, in start
env=environ,
File "/usr/lib64/python3.7/subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "/usr/lib64/python3.7/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'node': 'node'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./l", line 3, in <module>
import aws_cdk
File "/usr/local/lib/python3.7/site-packages/aws_cdk/__init__.py", line 1051, in <module>
from ._jsii import *
File "/usr/local/lib/python3.7/site-packages/aws_cdk/_jsii/__init__.py", line 11, in <module>
import constructs._jsii
File "/usr/local/lib/python3.7/site-packages/constructs/__init__.py", line 41, in <module>
from ._jsii import *
File "/usr/local/lib/python3.7/site-packages/constructs/_jsii/__init__.py", line 12, in <module>
"constructs", "10.0.69", __name__[0:-6], "constructs@10.0.69.jsii.tgz"
File "/usr/local/lib/python3.7/site-packages/jsii/_runtime.py", line 43, in load
_kernel.load(assembly.name, assembly.version, os.fspath(assembly_path))
File "/usr/lib64/python3.7/contextlib.py", line 161, in __exit__
raise RuntimeError("generator didn't stop after throw()")
RuntimeError: generator didn't stop after throw()
Exception ignored in: <function _NodeProcess.__del__ at 0x7f3fc99ebb90>
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 224, in __del__
self.stop()
File "/usr/local/lib/python3.7/site-packages/jsii/_kernel/providers/process.py", line 281, in stop
if not self._process.stdin.closed:
AttributeError: '_NodeProcess' object has no attribute '_process'
我还有一台运行 Centos 的“家用机器”,收到的消息非常相似。 但是,我继续使用 ec2 实例来使问题更容易复制和记录。 谢谢你。
如链接页面所述,您应该首先安装 AWS CDK,这是通过npm
完成的。 哪个是node.js
package经理; 后者很可能是错误消息中提到的'node'
,因为它是通过subprocess
运行的外部(可执行)文件。
因此,首先安装node
和npm
(它们可能一起出现),然后继续安装 Python AWS CDK。
谢谢“9769953” - 答案似乎是要使 AWS CDK python 库正常工作,您必须安装节点的依赖项。
这篇文章也有帮助。
对于文档 - 这是在 Amazon Linux 2 上为 python 和其他类似的 Linux 发行版安装 AWS CDK 的方法。
一种。 安装节点版本管理器。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
b. 激活 nvm。
. ~/.nvm/nvm.sh
c.安装节点。
nvm install node
d. 检查版本(可选)。
node -v
npm -v
e. 最后是 python 位!
python3 -m pip install aws-cdk-lib
F。 运行一个 Python 程序。
#!/usr/bin/python3
import aws_cdk
print('hello')
就是这样。
再次感谢“9769953”和“CyberEternal”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.