Python多版本及依赖包管理:pyenv+pipenv

导读:本文主要讲述如何通过 pyenv 来管理不同版本的 python ,以及如何使用 Pipenv 在同一个python版本实现项目之间依赖包的隔离。 
pyenv
Linux系统下安装
curl https://pyenv.run | bash验证是否安装成功:
# pyenv -vpyenv 2.3.11
设置环境变量:
在 ~/.bashrc 中加入如下内容:
export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PATH"eval "$(pyenv init -)"
可以执行如下命令即可立即生效。
source ~/.bashrc前置依赖包安装:
Pyenv的常见用法
查看可安装的python版本
pyenv install --list当前目录切换python版本
pyenv local 3.11.1全局切换python版本
pyenv global 3.11.1查看当前使用的python版本
pyenv versions安装某个版本的python
- 前置依赖包安装(已centos为例):
- 
yum install -y zlib zlib-dev sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++ ncurses-devel readline-develyum swap openssl-devel openssl11-devel
- 安装固定版本的python
- 
pyenv install 3.11.1
常见安装失败处理方法
ModuleNotFoundError: No module named 'ssl'错误
CPPFLAGS="$(pkg-config --cflags openssl11)" LDFLAGS="$(pkg-config --libs openssl11)" pyenv install -v
其他常见安装python失败场景
解决方案可以参考官方wiki:
取消局部设置的python版本
pyenv local --unsetpipenv
Pipenv是官方推荐的的python包管理工具,可以实现项目之间依赖的隔离。
安装pipenv
pip install pipenv常用命令
pipenv install该命令功能如下:
- 若项目目录中虚拟环境未创建且无Pipfile文件,将安装虚拟环境并创建Pipfile文件
- 若项目目录中虚拟环境未创建且有Pipfile文件,将根据Pipfile文件来安装相应python版本和依赖包
- 若项目目录中虚拟环境已创建且有Pipfile文件,将根据Pipfile文件来安装依赖包
安装python包
pipenv install xxx # 安装某个python包# 例:pipenv install requests==
卸载python包
pipenv uninstall xxx显示虚拟环境安装路径
pipenv --venv作者:大雄 
        THE END
    
        
        



