文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
导读:本文主要讲述如何通过 pyenv 来管理不同版本的 python ,以及如何使用 Pipenv 在同一个python版本实现项目之间依赖包的隔离。
pyenv文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
Linux系统下安装
curl https://pyenv.run | bash
验证是否安装成功:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html# pyenv -v
pyenv 2.3.11
设置环境变量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
在 ~/.bashrc 中加入如下内容:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.htmlexport PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
可以执行如下命令即可立即生效。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.htmlsource ~/.bashrc
前置依赖包安装:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
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-devel
yum swap openssl-devel openssl11-devel
- 安装固定版本的python
pyenv install 3.11.1
常见安装失败处理方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
ModuleNotFoundError: No module named 'ssl'错误文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.htmlCPPFLAGS="$(pkg-config --cflags openssl11)" LDFLAGS="$(pkg-config --libs op
enssl11)" pyenv install -v
其他常见安装python失败场景文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
解决方案可以参考官方wiki:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
取消局部设置的python版本
pyenv local --unset
pipenv
Pipenv是官方推荐的的python包管理工具,可以实现项目之间依赖的隔离。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
安装pipenv
pip install pipenv
常用命令
pipenv install
该命令功能如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html
- 若项目目录中虚拟环境未创建且无Pipfile文件,将安装虚拟环境并创建Pipfile文件
- 若项目目录中虚拟环境未创建且有Pipfile文件,将根据Pipfile文件来安装相应python版本和依赖包
- 若项目目录中虚拟环境已创建且有Pipfile文件,将根据Pipfile文件来安装依赖包
安装python包
pipenv install xxx # 安装某个python包
# 例:pipenv install requests==
卸载python包
pipenv uninstall xxx
显示虚拟环境安装路径
pipenv --venv
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44420.html作者:大雄