python多版本及依赖包管理

mervyn 2023年5月21日02:42:10Python评论351

目录

本文主要讲述如何通过 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
weinxin
我的微信公众号
微信扫一扫
mervyn
使用 pipenv 管理依赖包 编程语言

使用 pipenv 管理依赖包

之前文章提到了使用 pyenv 和 pyenv-virtualenv 管理python环境,那环境搭建ok了,接下来在做项目的过程难免需要用到各种依赖包。 以前经常用的就是 EasyInstall 来...
使用 pipenv 管理依赖包 编程语言

使用 pipenv 管理依赖包

之前文章提到了使用 pyenv 和 pyenv-virtualenv 管理python环境,那环境搭建ok了,接下来在做项目的过程难免需要用到各种依赖包。 以前经常用的就是 EasyInstall 来...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: