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

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

解决问题

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

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

[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)

总结

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

以上是关于[TroubleShooting]CentOS8使用pyenv部署多版本python时报 python: command not found的主要内容,如果未能解决你的问题,请参考以下文章

Centos8安装mysql5.7,修改mysql初始密码,使root可以访问远程主机. install mysql5.7 in Centos8, and change mysql initial p

如何在Rescue模式下配置网络和SSH登录

CentOS8-网卡配置

CentOS8提高篇19:​Centos8使用SSM管理LVM卷

ASDM Installation and Troubleshooting

DevOps Troubleshooting-运维实战