Pipenv & 锁定文件 - 部署
Pipenv & lock file - depolyment
我刚开始使用 PIPENV,我发现它很神奇,因为我以前从未使用过虚拟环境。但是,我仍然对 PIPENV 文件和锁定文件感到困惑。我通过视频了解到这两个文件对于PIPENV都是必不可少的。
关于这两个文件我有两个问题:
1) 如果我想将它部署到我朋友的笔记本电脑上(让他作为最终用户),我需要将这两个文件中的哪一个传递给他,它们的用途是什么?
2) 如果我想把它部署到我的其他需要开发库的朋友笔记本电脑上(假设他是我的项目合作伙伴),我需要将这两个文件中的哪一个传递给他,它们的用途是什么?
3) 'freeze'和'lock'有什么区别?
提前致谢!
Pipfile
是描述您的应用程序直接需要哪些依赖项的文件。
Pipfile.lock
是从 Pipfile
生成的,描述了应用程序正常工作需要安装的所有内容,即您的直接依赖项、它们的依赖项等。
回答您的问题 1 和 2,您应该在这两种情况下都运送 Pipfile
和 Pipfile.lock
。
不过,安装过程会略有不同。
最终用户需要使用 pipenv install --deploy
安装依赖项以确保 Pipfile.lock
是最新的——如果锁定文件已过期,安装将失败。
您项目的另一个开发人员可能会使用普通 pipenv install
安装依赖项。如果Pipfile.lock
过时,安装时会重新生成。
回答您的问题 3:freeze
是一个 pip
命令,而不是 pipenv
命令。
pip freeze
以文本格式打印虚拟环境的 当前内容 ,其输出通常保存在名为 requirements.txt
的文件中。如果您的虚拟环境不知何故已过时,其内容仍将按原样输出。
pipenv lock
构建并输出 项目的依赖列表 ,无论它们当前是否安装。它在名称 Pipfile.lock
下生成锁定文件,以供 pipenv
.
进一步使用
我刚开始使用 PIPENV,我发现它很神奇,因为我以前从未使用过虚拟环境。但是,我仍然对 PIPENV 文件和锁定文件感到困惑。我通过视频了解到这两个文件对于PIPENV都是必不可少的。
关于这两个文件我有两个问题:
1) 如果我想将它部署到我朋友的笔记本电脑上(让他作为最终用户),我需要将这两个文件中的哪一个传递给他,它们的用途是什么?
2) 如果我想把它部署到我的其他需要开发库的朋友笔记本电脑上(假设他是我的项目合作伙伴),我需要将这两个文件中的哪一个传递给他,它们的用途是什么?
3) 'freeze'和'lock'有什么区别?
提前致谢!
Pipfile
是描述您的应用程序直接需要哪些依赖项的文件。
Pipfile.lock
是从 Pipfile
生成的,描述了应用程序正常工作需要安装的所有内容,即您的直接依赖项、它们的依赖项等。
回答您的问题 1 和 2,您应该在这两种情况下都运送 Pipfile
和 Pipfile.lock
。
不过,安装过程会略有不同。
最终用户需要使用 pipenv install --deploy
安装依赖项以确保 Pipfile.lock
是最新的——如果锁定文件已过期,安装将失败。
您项目的另一个开发人员可能会使用普通 pipenv install
安装依赖项。如果Pipfile.lock
过时,安装时会重新生成。
回答您的问题 3:freeze
是一个 pip
命令,而不是 pipenv
命令。
pip freeze
以文本格式打印虚拟环境的 当前内容 ,其输出通常保存在名为 requirements.txt
的文件中。如果您的虚拟环境不知何故已过时,其内容仍将按原样输出。
pipenv lock
构建并输出 项目的依赖列表 ,无论它们当前是否安装。它在名称 Pipfile.lock
下生成锁定文件,以供 pipenv
.