Python Pipfile 和 Pipfile.lock 的使用方法

Python Pipfile 和 Pipfile.lock 的使用方法

在本文中,我们将介绍 Pipfile 和 Pipfile.lock 的用法。Pipfile 是一种用于管理 Python 项目的依赖关系的文件格式,而 Pipfile.lock 则是 Pipfile 的锁定版本,记录了所有依赖包的确切版本。

阅读更多:Python 教程

Pipfile 文件格式

Pipfile 是由 Toml 格式编写的文件,它包含了项目的依赖关系和一些其他配置信息。一个典型的 Pipfile 文件如下所示:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"
numpy = "==1.19.0"
flask = {version = "==1.1.2", extras = ["security"]}

[dev-packages]
pytest = "*"
TOML

在这个示例中,[source] 段用于指定 PyPI 的源。[packages] 段列出了项目的运行时依赖包,每个包都可以指定版本号或版本范围。[dev-packages] 段则列出了项目的开发时依赖包。

Pipfile.lock 文件格式

Pipfile.lock 是由 Pipenv 自动创建的,它记录了项目的完整依赖关系及其确切的版本信息。一个典型的 Pipfile.lock 文件如下所示:

{
    "_meta": {
        "hash": {
            "sha256": "12fa4b835c84cb9a3345a82e89c01a94acd022c827b8c5a5524c743b3455dc78"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.8"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "requests": {
            "hashes": [
                "sha256:8419ef71ed614aabcdf6730a6e3f1434e2fb5819064a95e10e94516068ecd803",
                "sha256:b5bffbf6ecdbf4e6b7961ae43c5f978678ca6150e7814713fd37835a38e9990a"
            ],
            "version": "==2.25.1"
        },
        "numpy": {
            "hashes": [
                "sha256:824ee17b82c8d0dc6cdaaf5d1b40e6382ca2cffff3be07556c1948d0d9a57317",
                "sha256:0d893ec97265a01161f768068cca07668e9b98ff43372893f751d193456f77a4"
            ],
            "version": "==1.19.0"
        },
        "flask": {
            "hashes": [
                "sha256:e11dfd00ceb16f2e6d1c9bc6b1bae09571f1f50aeb12858cb1a0d2e4d5763f39",
                "sha256:a217486ba1ce9f83450913e8c9bcb11220187fdc13887ff05b57b87cb60a196f"
            ],
            "extras": [
                "security"
            ],
            "version": "==1.1.2"
        }
    },
    "develop": {
        "pytest": {
            "hashes": [
              "sha256:763d7caec2a8a67f04055d5e123c8273032dfd87727191ab2b3834a2eba37701",
              "sha256:997d87f157a8c53dac7aec094addf7492881db0c3fc380897e52b60fc88120c5"
            ],
            "version": "==3.10.0"
        }
    }
}
JSON

在这个示例中,_meta 段存储了文件的元数据,包括哈希值、Pipfile 版本信息、Python 版本信息和源信息。default 段记录了项目的运行时依赖关系及其确切的版本信息,develop 段则记录了项目的开发时依赖关系及其版本信息。

Pipenv 常用命令

使用 Pipenv 管理项目的依赖关系非常简单方便。下面列举了一些常用的 Pipenv 命令:

  • pipenv install:从 Pipfile 中安装项目的依赖关系。
  • pipenv install <package>:安装指定的包并将其添加到 Pipfile 中。
  • pipenv uninstall <package>:卸载指定的包并将其从 Pipfile 中移除。
  • pipenv lock:生成或更新 Pipfile.lock 文件。
  • pipenv sync:安装 Pipfile.lock 文件中记录的所有依赖包。
  • pipenv graph:显示项目的依赖关系图。

下面是一些使用 Pipenv 命令的示例:

$ pipenv install    # 从 Pipfile 安装所有依赖关系
$ pipenv install requests    # 安装 requests 包并将其添加到 Pipfile
$ pipenv uninstall numpy    # 卸载 numpy 包并将其从 Pipfile 移除
$ pipenv lock    # 生成或更新 Pipfile.lock 文件
$ pipenv sync    # 安装 Pipfile.lock 中记录的所有依赖包
$ pipenv graph    # 显示项目的依赖关系图
Python

总结

本文介绍了 Pipfile 和 Pipfile.lock 的使用方法。Pipfile 是一种用于管理 Python 项目的依赖关系的文件格式,而 Pipfile.lock 则是 Pipfile 的锁定版本,记录了所有依赖包的确切版本。通过使用 Pipenv,可以方便地安装、卸载、更新和同步项目的依赖关系。希望本文能帮助你更好地理解和使用 Pipfile 和 Pipfile.lock。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册