- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
(我认为[!])我了解pipenv
(以及其他venvs)背后的原理并经常使用它们。但是,我从来没有真正理解为什么 pipenv
需要一个 Pipfile
和一个 Pipfile.lock
文件。
Now, once you get your code and Pipfile.lock in your production environment, you should install the last successful environment recorded:
$ pipenv install --ignore-pipfile
但它没有解释为什么 Pipfile.lock
需要被使用。即 .lock
文件包含哪些 Pipfile
不包含的内容,以及为什么 Pipfile
足以与其他开发人员共享:
Now let’s say another developer wants to make some additions to your code. In this situation, they would get the code, including the Pipfile, and use this command:
$ pipenv install --dev
但还不足以用于在生产环境中复制您的环境吗?
最佳答案
官方 Pipfile 项目 has something to say about this :
The concrete requirements for a Python Application would come from
Pipfile
. This would include where the packages should be fetched from and their loose version constraints.The details of the environment (all installed packages with pinned versions and other details) would be stored in
Pipfile.lock
, for reproducibility. This file will be automatically generated and should not be modified by the user.
换句话说,Pipfile
用于人,Pipfile.lock
用于计算机。
在您的 Pipfile
中,您列出了您想要的内容,并以一种有点松散的方式定义它们,例如“Django 版本 2 或更高版本”。但这还不足以确定性地重现环境。这意味着“Django 2.0.3”还是“Django 2.1.0”?
Pipfile.lock
准确地指定了要求,它还准确地指定了依赖性。例如,如果您明确想要 foo
并将其放入您的 Pipfile
,您的 Pipfile.lock
将生成,将其锁定到特定版本.如果foo
本身依赖于bar
,而bar
依赖于quux
和florp
, Pipfile.lock
文件也会锁定 bar
、quux
和 florp
,因此依赖项中的细微差别不会'打破东西。
关于python - 为什么 pipenv 需要 Pipfile 和 Pipfile.lock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52951316/
Pipfile.lock 中的哈希有什么用? 我做什么 我用 pipenv 创建了一个 Pipfile + Pipfile.lock 我将它们复制到一个新位置 我更改哈希值(例如,将第一个字符替换为“
我正在学习Python虚拟环境。在我运行的一个小项目中 pipenv run python myproject.py 它在C:\Users\USERNAME\.virtualenvs中为我创建了一个v
管道: 我在https://realpython.com/pipenv-guide/找到为了将项目转移到开发中,我必须运行 pipenv lock (更新/创建 Pipfile.lock 文件) 根据
我使用的是 pipelinev 版本“2018.7.1”以及 pip 18.0。 我有一个Pipfile并运行pipenv install 。 它失败了: Could not find a versi
我正在使用 Python 3.8.1: $ python -V Python 3.8.1 我已经安装了 pipenv: $ pip list | grep pipenv pipenv
我有一个在 PyCharm 中使用 Pipenv 的 Python 项目,我已将其删除,现在当我尝试在同一位置创建一个新项目时,出现以下错误: Pipenv interpreter has alrea
我正在 VSCode Bash 终端上设置 pipenv 虚拟环境,但没有显示 (pipenv) ,这使它非常困惑。 当我使用Pycharm并让它配置pipenv环境时,它会自动显示(pipenv)在
WARNING: The scripts pipenv and pipenv-resolver are installed in '/Library/Frameworks/Python.framewo
有两个包提供了名为 jsonfield 的模块: django-jsonfield jsonfield 不幸的是,我们有依赖于这两个包的依赖项,这两个包虽然可以互换,但以不同的方式将数据存储到数据库中
鉴于 Pipfile 存在,似乎两者都会从 Pipfile 安装所有依赖项,并更新 Pipfile.lock。那么,有什么区别呢? 最佳答案 pipenv lock 从 Pipfile 生成一组一致的
Pipenv 已安装,我可以运行 $ pipenv --version pipenv, version 2018.11.26 但是,如果在 VSCode 中打开一个包含 Pipfile 的项目文件夹,
我正在使用 pipenv 来管理我的 python 包,在我的存储库中,我有 Pipfile 和 Pipfile.lock 版本。我想在我的实时服务器上安装所有 python 包。我应该使用 pipe
pipenv install命令引用 here . -i, --index Target PyPI-compatible package index url. --pypi-mirror Specif
我是 python 和 pipenv 的新手。当我运行 pipenv lock 时,出现以下错误,我重新安装了 pipenv 并在 google 上搜索错误,但仍然无法修复错误。上次用pipenv打开
如果有人不小心使用 pip install而不是 pipenv install在 pipenv 环境中,该包不会反射(reflect)在 Pipfile 上的包列表中,也不会反射(reflect)在
我正在尝试使用 pipenv 从 Pipfile 安装包,但我一直收到错误,我不知道如何调试。 pip --version pip 18.1 pipenv --version version 2018
我通过 Pharo/GToolkit 的 PythonBridge 使用 Python ,它在底层使用了 pipenv。 事情是通过这个内置的 PythonBridge 脚本 (install_env
所以这个错误发生在我为较新的 Python 3.8.3 卸载 Python 3.7.4 之后。我尝试使用 pipenv install,这是它的输出: PS C:\Users\enoch\Docume
我想在 pipenv 中为面部识别应用程序安装以下软件包。几乎所有这些软件包的安装过程都失败了。 唯一正确安装的软件包是 opencv-python 和 numpy cmake 人脸识别 NumPy
由于某种原因,我在使用最近才开始使用的 Pipenv 时遇到问题。似乎始终如一,每当我尝试使用 pipenv install 从 Pipfile 创建/安装虚拟环境时,我都会收到 Locking Fa
我是一名优秀的程序员,十分优秀!