欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pipenv使用

程序员文章站 2022-06-16 10:03:36
...

pipenv是Python官方推荐的包管理工具。可以说,它集成了virtualenv, pip和pyenv三者的功能。其目的旨在集合了所有的包管理工具的长处,如: npm, yarn, composer等的优点。
***自动为项目创建和管理虚拟环境***所以每一个项目都要安装pipenv哦

安装pipenv

  • 可全局安装,终端:pip3 install pipenv
  • 在每一个项目下安装 ,打开项目,在项目路径下,终端运行pipenv install # 相当于安装packanges里的所有包

初始化pipenv环境

  • pipenv --three
  • pipenv --python3 # 指定python版本
  • pipenv --python3.6

常用命令

  • pipenv install # 安装包
  • pipenv shell # **当前虚拟环境
  • exit #退出虚拟环境
  • pipenv install pytest --dev #安装开发依赖包
  • pipenv graph #图形显示包依赖关系
  • pipenv lock #生成lockfile
  • pipenv uninstall --all #删除所有依赖包

高级技巧

导入requirements.txt
  • pipenv install会自动安装requirements.txt中的依赖包并创建一个pipfile文件
  • 同样可以使用pipenv install -r path/to/requirements.txt导入
指定安装包的版本信息
  • 例如:pipenv install requests==2.13.0
生成requirements.txt文件
  • 例:pipenv lock -r生成requirements.txt文件
  • 例:pipenv lock -r -d生成dev-packages的requirements.txt文
编码风格检查
  • pipenv默认集成了flake8, 可以用来检测编码风格
    例:pipenv check --style xx.py
浏览模块代码
  • 例:pipenv open requests
自动加载环境变量.env
  • pipenv shellpipenv run会自动加载.env

常见报错

  • pipenv install时报错pip.exceptions.InstallationError: Command “python setup.py egg_info” failed with error code 1
    错误原因是pipenv是用python2安装的,解决办法是使用pip3重新安装pipenv
pip unintall pipenv
pip3 install pipenv
  • 在项目目录里运行pipenv时报错AttributeError: module ‘enum’ has no attribute ‘IntFlag’
    是因为在项目目录里运行pipenv命令时,项目虚拟环境的python版本低于3.6.4, 由于IntFlag是从python3.6.4才开始集成到python内置模块的。当**了项目的虚拟环境之后, 环境变量PYTHONPATH会被设置为当前虚拟环境的site-packages目录,因此pipenv依赖的IntFlag无法找到。 解决办法是在运行pipenv时设置环境变量PYTHONPATH为空
    PYTHONPATH= pipenv