最近部署python项目上vm,需要管理python版本,需要使用到pyenv记录下。
参考文档:https://github.com/pyenv-win/pyenv-win#installation
Windows安装
他文档里有很多方法,我就挑了一种我本地方便使用的做介绍。我本地本来就有python,所以直接用pip进行安装了。
cmd执行
pip install pyenv-win --target %USERPROFILE%\\.pyenv
如果这个命令报错就执行这个
pip install pyenv-win --target %USERPROFILE%\\.pyenv --no-user --upgrade
如果是powershell的话就把%USERPROFILE% 替换成 $HOME 就可以了。‘
然后就是配置环境变量
变量名 | 变量值 |
---|---|
PYENV | %USERPROFILE%\.pyenv\pyenv-win\ |
PYENV_ROOT | %USERPROFILE%\.pyenv\pyenv-win\ |
PYENV_HOME | %USERPROFILE%\.pyenv\pyenv-win\ |
path | %USERPROFILE%\.pyenv\pyenv-win\bin |
path | %USERPROFILE%\.pyenv\pyenv-win\shims |
其中这里%USERPROFILE%就是 C:\Users\<your_user_name>,你需要replace他。后面两个path变量就直接在path当中加上就可以了。
然后保存,执行pyenv --vesrion查看是否配置成功。
Linux安装
要使用pyenv,在CentOS系统上,您需要先安装一些依赖包,然后从GitHub上下载和安装pyenv。
sudo yum -y groupinstall "Development Tools"
sudo yum -y install openssl-devel bzip2-devel libffi-devel xz-devel
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安装完成后,您需要设置您的shell环境变量,以便pyenv可以正常工作。您可以将以下内容添加到~/.bashrc文件中:
这里的安装目录你可以看他的console里面打印的值,把xxx改成你的路径就行了
export PATH="/xxxxx/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
然后,您需要重新启动你的shell,或者运行以下命令:
source ~/.bashrc
这样,您就可以开始使用pyenv来安装和管理Python版本了。您可以使用以下命令来查看可用的Python版本:
pyenv install --list
您可以使用以下命令来安装指定版本的Python:
pyenv install 3.9.4
您可以使用以下命令来查看已安装的Python版本:
pyenv versions
也可以删除已经安装的Python版本
pyenv uninstall 3.9.4
如果安装的时候有这种warn WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib? 并且你项目里面确实需要用到,那就执行下面的命令再重新编译python
sudo yum -y install sqlite-devel
在python的目录执行,重新编译python
./configure --enable-loadable-sqlite-extensions
make
sudo make install
如果觉得太麻烦,并且你才搭好,就可以直接删除该python再从重新安装一次python就行了。
您可以使用以下命令来设置全局或本地(针对特定目录)的Python版本:
pyenv global 3.10.5
pyenv local 3.10.5
global就是设置全局默认的python版本,local的话,你在哪个文件夹下执行,会生成一个文件,这个文件夹和子文件都会用这个python版本。
如果只想要临时使用某个版本可以执行
pyenv shell 3.10.5
这可以让当前cmd中使用的是该版本
然后你就可以执行
python --version
来确认你正在使用的是不是刚才设置的版本
如果不生效,可以看我这篇blog:
https://blog.csdn.net/Damien_J_Scott/article/details/134650017
使用国内镜像
默认是使用中心库,pyenv下载会有点慢,最好切换成国内镜像
具体方法看我这篇blog: https://blog.csdn.net/Damien_J_Scott/article/details/134649531