目录
本文主要讲述如何通过 pyenv
来管理不同版本的 python ,以及如何使用 Pipenv
在同一个python版本实现项目之间依赖包的隔离。文章源自编程技术分享-https://mervyn.life/243.html
pyenv
Linux下安装
curl https://pyenv.run | bash
验证是否安装成功文章源自编程技术分享-https://mervyn.life/243.html
# pyenv -v
pyenv 2.3.11
设置环境变量文章源自编程技术分享-https://mervyn.life/243.html
在 ~/.bashrc
中加入如下内容:文章源自编程技术分享-https://mervyn.life/243.html
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
可以执行如下命令即可立即生效文章源自编程技术分享-https://mervyn.life/243.html
source ~/.bashrc
前置依赖包安装:文章源自编程技术分享-https://mervyn.life/243.html
Pyenv的常见用法
查看可安装的python版本
pyenv install --list
当前目录切换python版本
pyenv local 3.11.1
全局切换python版本
pyenv global 3.11.1
查看当前使用的python版本
pyenv versions
安装某个版本的python
-
前置依赖包安装(已centos为例):文章源自编程技术分享-https://mervyn.life/243.html
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文章源自编程技术分享-https://mervyn.life/243.html
pyenv install 3.11.1
常见安装失败处理方法文章源自编程技术分享-https://mervyn.life/243.html
ModuleNotFoundError: No module named 'ssl'错误文章源自编程技术分享-https://mervyn.life/243.html
CPPFLAGS="$(pkg-config --cflags openssl11)" LDFLAGS="$(pkg-config --libs openssl11)" pyenv install -v 3.11.1
其他常见安装python失败场景文章源自编程技术分享-https://mervyn.life/243.html
解决方案可以参考官方wiki:文章源自编程技术分享-https://mervyn.life/243.html
https://github.com/pyenv/pyenv/wiki/Common-build-problems文章源自编程技术分享-https://mervyn.life/243.html
取消局部设置的python版本
pyenv local --unset
pipenv
Pipenv是官方推荐的的python包管理工具,可以实现项目之间依赖的隔离。文章源自编程技术分享-https://mervyn.life/243.html
安装pipenv
pip install pipenv
常用命令
pipenv install
该命令功能如下:文章源自编程技术分享-https://mervyn.life/243.html
- 若项目目录中虚拟环境未创建且无Pipfile文件,将安装虚拟环境并创建Pipfile文件
- 若项目目录中虚拟环境未创建且有Pipfile文件,将根据Pipfile文件来安装相应python版本和依赖包
- 若项目目录中虚拟环境已创建且有Pipfile文件,将根据Pipfile文件来安装依赖包
安装python包
pipenv install xxx # 安装某个python包
# 例: pipenv install requests==2.13.0
卸载python包
pipenv uninstall xxx
显示虚拟环境安装路径
pipenv --venv
文章源自编程技术分享-https://mervyn.life/243.html
评论