如何使用Pipfile和Pipfile.lock?

2024-05-19 01:13:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python打包的上下文中,Pipfile/Pipfile.lock似乎是requirements.txt的替代品。不过,目前还没有太多关于这些方法实际工作原理的文档。我在Python网站here的PyPi部分找到了pipfile的一个不断发展的描述,但是它相当混乱,并且没有解释文件不同部分的语义。

有什么关于如何理解这些文件的提示吗?


Tags: 文件方法文档txtpypilock替代品here
1条回答
网友
1楼 · 发布于 2024-05-19 01:13:34

如果您对Ruby的Bundler或Node的Npm有一定的了解,那么这些文件背后的概念很简单,并且与其他已经存在的工具类似。Pipenv是一个包和虚拟环境管理工具,它使用Pipfile和Pipfile.lock文件来实现这些目标。

Pipenv以一种默认的标准方式为您处理虚拟环境(不再需要激活和停用)。下面是一些基本的入门知识,请参见pipenv website

入门

开始使用pipenv很容易,在您的项目文件夹类型。。。

$ pipenv install

。。。如果它已经有一个requirements.txt文件,它将生成一个Pipfile文件和一个虚拟环境文件夹,否则,它将生成一个空的Pipfile文件。如果你不喜欢或改变主意,你已经安装的东西,只需键入。。。

$ pipenv uninstall <package>

。。。你可以走了。要激活pipenv已经生成的虚拟环境,请使用。。。

$ pipenv shell

。。。你的虚拟环境将被激活。离开环境。。。

$ exit

。。。你将回到原来的终端会话。

Pipfile文件

Pipfile文件旨在为Python应用程序或库指定开发和执行所需的包。只需使用。。。

$ pipenv install flask

。。。它将被添加为部署和执行的依赖项,或者使用。。。

$ pipenv install --dev pytest

。。。它将被用作开发时间的依赖。文件语法非常直接,如下所示。

[[source]] # Here goes your package sources (where you are downloading your packages from).
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages] # Here goes your package requirements for running the application and its versions (which packages you will use when running the application).
requests = "*"
flask = "*"
pandas = "*"

[dev-packages] # Here goes your package requirements for developing the application and its versions (which packaes you will use when developing the application)
pylint = "*"
wheel = "*"

[requires] # Here goes your required Python version.
python_version = "3.6"

Pipfile.lock文件

Pipfile.lock旨在根据Pipfile中存在的包指定应使用这些包的特定版本,从而避免自动升级相互依赖的包和破坏项目依赖树的风险。

您可以使用。。。

$ pipenv lock

。。。该工具将查找虚拟环境文件夹,根据当前安装的版本自动为您生成锁定文件。文件语法不像Pipfile那么明显,因此为了简洁起见,这里不会显示它。

相关问题 更多 >

    热门问题