bash - 未找到 EC2 非 root 用户的 python3 命令
问题描述
我想知道如何在 EC2 上为非 root unix 用户添加 python3.7 路径。
我创建了一个 EC2 实例并通过 ssh 登录。我创建了一个名为的jpx
用户adduser jpx
。所以我的主目录有ec2-user
和 jpx
子目录。
作为 root 用户,我按照本教程安装了 python3.7 。基本上,我遵循了以下步骤:
yum install gcc openssl-devel bzip2-devel libffi-devel
cd /opt
sudo wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
sudo tar xzf Python-3.7.9.tgz
cd Python-3.7.9
sudo ./configure --enable-optimizations
sudo make altinstall
sudo rm /usr/src/Python-3.7.9.tgz
结果,我的 python3.7 安装在/usr/local/bin/python3.7
.
问题:
作为 root 用户,我可以添加
/usr/local/bin/
到我PATH
的bash_profile
. 所以现在命令python3.7
起作用了。但我想设置命令python3
而不是python3.7
,这样我就可以运行python3 app.py
而不是python3.7 app.py
。我怎样才能做到这一点?作为用户
jpx
,我无法运行该命令python3.7
。它返回bash: python3.7: command not found
。当我打印echo $PATH
时,确实是它的'/sbin:/bin:/usr/sbin:/usr/bin
并且不包括 python3.7 路径。作为一个 linux 初学者,我想了解为什么会发生这种情况。解决方案是什么?不仅是python3,我还需要安装pip
.
谢谢您的帮助!
解决方案
- 您可以链接可执行文件
cd /usr/local/bin
ln -s python3.7 python3
- 将路径添加到用户主目录 .bashrc
vi /home/jpx/.bashrc
添加以下行
导出 PATH="/usr/local/bin:$PATH"
注销并重新登录
推荐阅读
- apache-spark - 如何检查 kubernetes 上 spark 的错误原因?
- python - 如何使用 Python (Selenium) 抓取画布元素
- javascript - 使用单选按钮一次将函数应用于单个 div
- javascript - jquery如何获取动态创建的每一行的索引
- c++ - 因超时而终止:优化的范围在哪里?
- swift - 流式传输显示、转换它并在窗口中显示它?
- list - 连续流列出,没有重复
- javascript - 希望构建一个正则表达式,以按顺序查找由不同特定长度的空格分隔的 3 个单词
- ocr - 如何在不使用可执行文件的情况下在 Windows 上使用 tesseract?
- sql - Oracle:棘手的更新和插入内部循环