创建

  • pipenv –python 3.8

    • python version 存放在 Pipfile 文件 [requires] 部分
    • 注意:

      • 任意 python 版本的切换需要 pyenv 已经安装
  • pipenv –python path/to/python

    • 需要已经安装的本地 python 版本
  • 注意

    • 创建时,会自动导入 requirements.txt 内容

删除

  • pipenv –rm

激活

  • pipenv –shell
  • 退出

    • deactivate

单次使用

  • pipenv run python ./myscript.py

包管理

安装

  • pipenv install <package>

    • 存放在 Pipfile 文件 [package] 部分
  • pipenv install <package> –dev

    • 只作为开发时的依赖
    • 存放在 Pipfile 文件 [dev-package] 部分
  • pipenv install -r ./requirements.txt

    • 使用 requirements.txt 安装

卸载

  • pipenv uninstall <package>

升级

  • pipenv update –outdated

依赖查看

  • pipenv graph

版本号

  • 手动指定版本号

    • 指定当前版本,或小版本升级

      • pipenv install requests~=1.2
    • == :: 完全等于

      • 不同于 ~, 小版本号升级也不可以
    • >= :: 大于等于
    • <=
    • >
    • !=

打开包

  • pipenv open <package_name>

修改 env 存放到项目内部

  • bash 设置: export PIPENV_VENV_IN_PROJECT=1

创建 Pipfile.lock

  • pipenv lock

shell 自动补全

  • bash: eval "$(pipenv --completion)"

配置文件

Pipfile

  • 包依赖管理

    • 运行时包依赖
    • 开发时包依赖
  • python 版本管理
  • pip 源

Pipfile.lock

  • 包版本号自动记录
  • hash 值自动生成,版本号锁定

    • 确保再次下载的包是指定版本的包,保证复现性和防恶意性

FAQ

参考:

安装依赖冲突 (resolving dependencies stuck)

解决方法:

1
pipenv lock --clear