作为 Python 项目开发的必备工具,虚拟环境一般都是我们第一选项。Pipfile 作为一个基于 Pip 的虚拟环境管理工具,非常适合 Python 的包管理。
一、pipfilepro
Pipfile 是一个高级的工具,它在安装、升级、卸载、管理项目中的依赖关系等方面都有很好的表现力。如果你不能或不想使用 Docker 等工具,Pipfile 可以帮助你轻松完成依赖管理。
有些人可能还需要根据生产环境和开发环境进行依赖的区分,这时候就可以使用 Pipfile.lock 文件,来确保项目中使用的依赖关系的一致性和兼容性。
二、pipfile生成
生成 Pipfile 很简单,只需要在 Python 项目的根目录下运行以下命令:
pipenv install
这个命令将按照项目中 requirements.txt 中的依赖关系安装并生成 Pipfile 文件。同时,Pipfile 也将自动记录项目中使用的虚拟环境,以及用来安装和管理依赖关系的 Pip 版本。
三、pipfile文件
Pipfile 文件和 requirements.txt 文件类似,它是一个以 UTF-8 编码的文本文件,可以手动编辑和维护。Pipfile 文件可以包含几个不同的部分:
[packages]
:这个部分包含需要安装的包,以及它们的版本号[dev-packages]
:这个部分包含需要安装的开发依赖包,比如 lint 和 test frameworks。[requires]
:这个部分包含 Python 版本和其它依赖项,比如操作系统或者其它 python 版本。
下面是一个示例 Pipfile 文件:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[packages]
django = "==2.2"
Django REST framework = "==0.1"
[dev-packages]
pytest = "==4.0.1"
[requires]
python_version = "3.8"
四、pipfile文件在哪
我们可以通过以下命令来确定项目的根目录位置:
pipenv --where
命令的执行结果将输出项目所在路径:
/Users/writing/Project/python-project
其中,Pipfile 和 Pipfile.lock 文件将在此目录中找到。
五、pipfile.lock
Pipfile.lock 文件是两个重要文件中的另一个,它用来锁定项目中使用的依赖关系的版本。这个文件应该被添加到版本控制系统中,以便为所有的开发人员提供一致的依赖环境。
Pipfile.lock 文件是通过以下命令生成的:
pipenv lock
其中,锁定的依赖项和其版本应写入 Pipfile.lock 文件,而不是 Pipfile 文件中,请注意不要手动编辑 Pipfile.lock 文件。
六、pipfile中的requires选项
Pipfile 中的 requires 选项指定了 Python 版本和其它依赖项,如下所示:
[requires]
python_version = "3.8"
os_name = "posix"
它表示该项目需要 Python 3.8 及以上版本,及基于 Unix 的操作系统。
七、使用 Pipenv 进行包管理
使用 Pipenv,我们可以通过以下命令来安装一个包:
pipenv install requests
如果我们需要安装指定版本的包,可以在包名后面加上版本号:
pipenv install requests==2.25.1
在 Pipfile 文件中,可以看到 requests 包已被添加到 [packages] 节点中,同时 Pipfile.lock 会记录实际安装包的版本。
使用以下命令可以查看所有已安装的包:
pipenv graph
这个命令将输出包的依赖关系树,以及它们的版本号,非常直观。
Pipenv 也提供了方便的命令,让我们可以方便升级、卸载包的版本:
pipenv update requests
使用这个命令,我们可以自动升级 requests 包到最新版本。如果需要卸载特定的包,可以使用命令:
pipenv uninstall requests
这将从 Pipfile 及 Pipfile.lock 文件中移除该包。
结语
Pipfile 是一个非常有用的工具,可以帮助我们轻松维护 Python 项目的依赖关系,确保开发环境与生产环境的一致性。
希望本文介绍的 Pipenv 工具能够帮助您简化 Python 项目的部署和管理,提高开发效率。