Background
- 网上相关经验已有很多,但并不详实,我安装的时候还是踩坑了,这里记录下方便以后参考。
- 这里还是基于Centos7操作的。
1、安装
# pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# pyenv-virtualenv 插件
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
网不行时也可以用gitee
# pyenv
git clone https://gitee.com/waisaa/pyenv.git ~/.pyenv
# pyenv-virtualenv 插件
git clone https://gitee.com/waisaa/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
2、配置
- 配置环境变量,
~/.bashrc
或/etc/profile
tee -a /etc/profile <<-'EOF'
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export PYENV_VIRTUALENV_DISABLE_PROMPT=1
EOF
#环境配置生效
source /etc/profile
3、修改pip安装源
修改系统pip安装源
在家目录下新建.pip文件夹,进入文件夹新建文件pip.conf之后写入相应镜像网站地址
ps:如果不修改pip安装源,可以使用-i参数:
pip3 install numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
mkdir -p /root/.pip
cat << EOF >> /root/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF
4、使用
# 查看当前版本
pyenv version
# 查看所有版本
pyenv versions
# 查看所有可安装的版本
pyenv install --list
# 安装指定版本
pyenv install 3.6.5
# 安装新版本后rehash一下
pyenv rehash
# 删除指定版本
pyenv uninstall 3.5.2
# 设置当前版本
pyenv local 3.6.5
# 指定全局版本
pyenv global 3.6.5
# 指定多个全局版本, 3版本优先
# 实际上当你切换版本后, 相应的pip和包仓库都是会自动切换过去的
pyenv global 3.6.5 2.7.14
# 创建一个3.6.5版本的虚拟环境, 命名为v365env, 然后激活虚拟环境
$ pyenv virtualenv 3.6.5 v365env
$ pyenv activate v365env
# 关闭虚拟环境
$ pyenv deactivate v365env
5、更多
6、安装python时可能遇到的问题
【问题现象】: ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
【根本原因】:原因为安装时找不到openssl库
【解决方案】:
- 如果没安装openssl,那先参考这个安装【https://blog.csdn.net/qq_42761569/article/details/125317801?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170859597916800227483202%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170859597916800227483202&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-2-125317801-null-null.nonecase&utm_term=openssl&spm=1018.2226.3001.4450】
- pyenv 安装 python 时指定已安装的 openssl 路径,具体命令如下:
LD_RUN_PATH="/usr/local/openssl/lib" LDFLAGS="-L/usr/local/openssl/lib" CPPFLAGS="-I/usr/local/openssl/include" CFLAGS="-I/usr/local/openssl/include" CONFIGURE_OPTS="--with-openssl=/usr/local/openssl" pyenv install 3.9.13