我正在尝试安装Python3.9 --一个使用Amazon 2的EC2实例。我试着遵循这个指南:https://computingforgeeks.com/install-latest-python-on-centos-linux/,通过SSH‘in和运行这些命令,我能够手动在EC2实例上安装Python3.9。现在,我正在尝试使用一个调用一些EC2脚本来安装依赖关系(包括Python3.9)的UserData脚本来设置UserData实例,而我的脚本正在失败。
下面是用于安装Python3.9的脚本的一部分:
const installPythonString = `
#!/bin/bash
sudo amazon-linux-extras install -y epel
sudo yum -y update
sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel libffi-devel bzip2-devel -y
gcc --version
sudo yum install wget -y
sudo mkdir -p /opt/python3.9/
sudo chown -R $USER:$USER /opt/python3.9/
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz -P /opt/python3.9
cd /opt/python3.9/
tar xvf Python-3.9.9.tgz
whoami
sudo chown -R $USER:$USER Python-3.9.9
cd Python-3.9.9/
ls -al
pwd
./configure --enable-optimizations
sudo make altinstall
python3.9 --version
pip3.9 --version
`;
init.addConfig('install_python39', new ec2.InitConfig([
ec2.InitFile.fromString('/opt/install_python39.sh', installPythonString, {
mode: '000755',
owner: 'root',
group: 'root',
}),
ec2.InitCommand.shellCommand('sudo sh install_python39.sh', {
cwd: '/opt',
key: 'install_python39',
}),
]))在尝试启动EC2实例时,我会得到以下错误:
Python build finished successfully!
...
WARNING: The script pip3.9 is installed in '/usr/local/bin' which is not on PATH.
install_python39.sh: line 21: python3.9: command not found
install_python39.sh: line 22: pip3.9: command not found是否有一种使用CloudFormationInit在Amazon 2上安装Python3.9的更简单的方法?
发布于 2022-01-02 21:38:41
看起来,通往python的路径是/urs/local/bin,它不在$PATH中,因此找不到python3.9命令。
按顺序运行以下命令。
export PATH="/usr/local/bin:$PATH"或echo "export PATH='/usr/local/bin:$PATH' >> ~/.bashrc(如果这样做,请重新启动ssh会话)将其保存到bashrc,这样您就不必每次登录时运行导出。
python3.9 --version
此外,如果您一直有问题,请按照这安装python3.9,这就是我所使用的,一切都完美无缺。
如果您有需要安装的python包,我建议您创建一个requirements.txt并使用pip3.9 install -r requirements.txt来安装它们。
https://stackoverflow.com/questions/70559547
复制相似问题