当前位置: 首页 > news >正文

[TroubleShooting]CentOS8使用pyenv部署多版本python时报 python: command not found

pyenv部署python报错的troubleshooting

pyenv: python :command not found

  • 在CentOS8中成功部署pyenv后,安装多版本python也成功。
  • 但是当在项目文件夹中设定python版本,创建虚拟python时始终不成功
  • 始终报错-bash: python: command not found
[python@C8-196 ~]$ cd projects/web36
[python@C8-196 web36]$ pyenv local 
3.6.15
[python@C8-196 web36]$ pyenv versions
  system
  3.10.0
* 3.6.15 (set by /home/python/projects/web36/.python-version)
  3.6.15/envs/py3615
  3.8.12
  py3615
[python@C8-196 web36]$ python -V
-bash: python: command not found
[python@C8-196 web36]$ python3 -V
Python 3.6.8
[python@C8-196 web36]$ python3.6 -V
Python 3.6.8

重新部署

  • 初始化虚拟机,重新一步一步部署,问题依然重现

检查pyenv install python是否成功

  • 进入安装目录查看,并执行程序,证明程序安装的没问
[python@C8-196 web36]$ ~/.pyenv/versions/3.6.15/bin/python -V
Python 3.6.15

思考问题原因

  • 根据以往经验,command not found如果不是程序没装好,那就肯定是环境变量除了问题
  • 之前在CentOS 7配置的环境变量方法
vim  ~/.bashrc

export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

source ~/.bashrc

解决问题

  • 既然在配置环境变量上出了问题,就要去官网查看详细的文档说明
    pyenv: python :command not found

  • 官网在帮助中写的清清楚楚明明白白,那就按照官网上面来

[python@C8-196 ~]$ sed -Ei -e '/^([^#]|$)/ {a \
> export PYENV_ROOT="$HOME/.pyenv"
> a \
> export PATH="$PYENV_ROOT/bin:$PATH"
> a \
> ' -e ':a' -e '$!{n;ba};}' ~/.bash_profile
[python@C8-196 ~]$ echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
[python@C8-196 ~]$ 
[python@C8-196 ~]$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
[python@C8-196 ~]$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
[python@C8-196 ~]$ echo 'eval "$(pyenv init --path)"' >> ~/.profile
[python@C8-196 ~]$ 
[python@C8-196 ~]$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
[python@C8-196 ~]$ source ~/.bashrc
  • 真是立竿见影,药到病除
[root@C8-196 ~]# su - python
Last login: Thu Dec  9 19:26:13 CST 2021 on pts/0
[python@C8-196 ~]$ cd projects/web36
[python@C8-196 web36]$ pyenv versions
  system
  3.10.0
* 3.6.15 (set by /home/python/projects/web36/.python-version)
  3.6.15/envs/py3615
  3.6.15/envs/venv
  3.8.12
  py3615
  venv
[python@C8-196 web36]$ python -V
Python 3.6.15
[python@C8-196 web36]$ pip -V
pip 18.1 from /home/python/.pyenv/versions/3.6.15/lib/python3.6/site-packages/pip (python 3.6)

总结

  • 出了问题,尽量去官网招解决方案,网上的不一定靠谱

相关文章:

  • Linux设置pip国内源
  • CentOS8部署多版本共存Python开发环境
  • Win10部署python多版本开发环境
  • Linux常用Shell脚本测试命令
  • Linux常用Shell函数参数
  • Linux脚本shell编程通过数组实现石头剪刀布小游戏
  • CentOS8快速安装Docker
  • CentOS8快速部署轻量级自动化运维平台Spug
  • DveOps常见项目代码部署发布方式
  • 云原生时代一站式DevOps平台--阿里云效
  • IBM WAS 简介
  • 实现判断CentOS的主版本号
  • Linux校验比对文件一致性的shell脚本
  • Linux防火墙之通俗易懂的iptables五表五链解释
  • nmap部分实例应用
  • [NodeJS] 关于Buffer
  • axios 和 cookie 的那些事
  • Docker 笔记(2):Dockerfile
  • es的写入过程
  • Fastjson的基本使用方法大全
  • Java超时控制的实现
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Nacos系列:Nacos的Java SDK使用
  • rc-form之最单纯情况
  • scala基础语法(二)
  • Selenium实战教程系列(二)---元素定位
  • vue自定义指令实现v-tap插件
  • 构建工具 - 收藏集 - 掘金
  • 缓存与缓冲
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 通过npm或yarn自动生成vue组件
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 在weex里面使用chart图表
  • 智能合约开发环境搭建及Hello World合约
  • ​flutter 代码混淆
  • ​iOS安全加固方法及实现
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #HarmonyOS:基础语法
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (2022 CVPR) Unbiased Teacher v2
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (差分)胡桃爱原石
  • (分享)自己整理的一些简单awk实用语句
  • (九)One-Wire总线-DS18B20
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一) storm的集群安装与配置
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • **CI中自动类加载的用法总结
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .dwp和.webpart的区别