Pipenv: 2020 年 4 月(当时的 5 月)发布跟踪问题

创建于 2018-12-10  ·  72评论  ·  资料来源: pypa/pipenv

这是一个内部跟踪问题,它将与相关问题相关联,这些问题将被解决/仍需要更新以减少发布。 已经有很长时间了(请参阅 https://github.com/pypa/pipenv/issues/4058#issuecomment-565550646 和 https://github.com/pypa/pipenv/issues/3742#issuecomment-492100711 了解过去对此的评论),并且有一个暂定目标是在 2020 年 3 月发布预发布。

(由@brainwane编辑说:修复持续集成设置中的一些缺陷正在将此版本 2020.04.1a1 推迟到 -- 新估计 -- 2020 年 4 月 21 日。)

@brainwane编辑说:预发行版2020.4.1b1现已发布,截至 4 月 29 日,Dan 的目标是在大约一周内发布下一个版本。)

(由@brainwane在 2020 年 3 月 5 日与 Dan 的对话中编辑,然后在整个 3 月和 4 月期间编辑)

  • [x] 2020 年 3 月发布里程碑中的其他项目:

    • [x] #3613 Pipenv 安装错误的包(忽略包锁)

    • [x] #4137 更新README阅读 Docs 项目以指向 pipenv.pypa.io 上的文档

  • [x] [修复pip-shims测试失败](https://github.com/sarugaku/pip-shims/issues/58) (合并bugfix/56分支)
  • [x] requirementslib修复:

    • [x] sarugaku/requirementslib#204 requirementslib问题setup.py的 AST 解析在非加法类型binOps上失败

    • [x] sarugaku/requirementslib#205 AST 解析在非 utf8 setup.py文件上失败

    • [x] sarugaku/requirementslib/issues/214 我们不应该在 CI 中安装升级版本的测试依赖项

    • [x] sarugaku/requirementslib#219 计算器为 PyPI 中的工件添加需求计算器

    • [x] 查看其他 pipenv 发布阻止程序的requirements-lib问题

  • [x] 发布相关库的新版本:

    • [x] [requirementslib](https://pypi.org/project/requirementslib/)

    • [x] [pip-shims](https://pypi.org/project/pip-shims/)

    • [x] [pythonfinder](https://pypi.org/project/pythonfinder/)

  • [x] 完成、批准和合并 #4169 以解决缺少的依赖项/导入

    • [x] 修复新闻条目/条目

    • [x] 修复损坏的 CI 配置

    • [x] 让测试通过

  • [x] 通过让 pyup API 密钥再次工作或选择并实施替代方案来修复 #4188
  • [x] 让 GitHub 测试通过 master(跳过 #4201 中提到的测试)
  • [x] 改进发布自动化以允许生成预发布

    • [x] 在草稿模式下生成变更日志

    • [x] 不要自动标记和推送标记到 repo

  • [x] 更新并运行打包/发布清单的“本地测试”和“上传发布”
  • [x] 打包并上传 pipenv 预发布版本 2020.04.1a1到 PyPI

这就是丹在 2020 年 4 月 21 日之前的目标。然后:

  • [x] 制作另一个新版本的requirementslib ,其中包含对https://github.com/sarugaku/requirementslib/issues/216的修复

    • [x] 重新锁定 requirementslib 依赖项

  • [x] 公示预发布并要求测试一周

    • [x] 特别是在 Windows 上针对 PEP 517 后端和涉及 virtualenvs 的测试

  • [x] 大约 1 周后(如果没有显眼的错误),发布新版本

其他人如何提供帮助:

最有用的评论

^ 已发布,感谢所有帮助测试的人!

所有72条评论

这似乎是一个很好的地方,可以询问下一个版本可能是什么时候,阻止程序是什么以及是否有人可以提供帮助?

我的团队急于下一次更新,特别是解决 #3298。 是否还有主要的障碍物?

我今天注意到https://github.com/pypa/packaging.python.org/issues/701并捐赠了大约 90 分钟的时间来帮助@techalchemy更清楚地了解是什么阻碍了他发布新版本( IRC 对话)) . https://github.com/pypa/pipenv/issues/3369#issue -389160510 现在有一个发布清单。 @techalchemy可以使用这些发布阻止程序的帮助,以防@JBKahn或其他任何人想要提供帮助。

@techalchemy :查看此处链接的问题时,很多问题都已修复。 我认为检查已修复问题的复选框会很不错,这样人们只需查看此线程中的第一篇文章就可以看到有进展(:

@brainwane@techalchemy ,请原谅我的干扰和潜在的无知,但我可以建议从这个版本中删除 #2227 和/或 #3520 吗? 我的印象是,释放或多或少的任何东西都是必不可少且有益的。 #2227 看起来像一个新功能,而 #3520 描述了一个解决方法(记者没有反对)。

同样,在推出下一个 pipenv 之前,是否严格需要“发布相关库的新版本”? 在查看 #3613 时,我发现当前的 master 分支可以正常工作......

我并不是说这些问题不重要,只是它们不应该阻止 master 中已经存在的改进进入人们。

三月快结束了

看起来https://github.com/pypa/pipenv/issues/3520在当前主服务器中已修复, https://github.com/pypa/pipenv/issues/2227看起来不像更新的关键修复.

有什么阻碍社区可以提供帮助的地方吗? 我很高兴把手伸给你。 否则,我只会看到发布更新和文档更新。

@Froskekongen @amhrasmussen @fridex感谢您的指点! 我昨天贡献了更多时间, @techalchemy和我一起研究了清单上的一些相关项目

查看此处链接的问题时,其中很多问题都已修复。 我认为检查已修复问题的复选框会很不错,这样人们只需查看此线程中的第一篇文章就可以看到有进展(:

谢谢! 现在检查了更多。 :-)

看起来#3520 在当前主控中是固定的

您能在#3520 的评论中这么说吗? 谢谢。

2227 看起来不像是更新的关键修复。

@brainwane@techalchemy ,请原谅我的干扰和潜在的无知,但我可以建议从这个版本中删除 #2227 和/或 #3520 吗? 我的印象是,释放或多或少的任何东西都是必不可少且有益的。 #2227 看起来像一个新功能,而 #3520 描述了一个解决方法(记者没有反对)。

谢谢。 Dan 同意你的看法,我们在此版本中删除了 #2227 作为阻止程序。 如果您可以通过确认解决方法有效并在那里发表评论来帮助解决 #3520,那就太好了。

同样,在推出下一个 pipenv 之前,是否严格需要“发布相关库的新版本”? 在查看 #3613 时,我发现当前的 master 分支可以正常工作......

我并不是说这些问题不重要,只是它们不应该阻止 master 中已经存在的改进进入人们。

据我了解,这些库对于 pipenv 功能以及正确测试 pipenv 以确保该版本适用于受支持的操作系统/环境组合非常重要。 我可能是错的,但丹说“现在大部分工作都发生在辅助图书馆”。

有什么阻碍社区可以提供帮助的地方吗? 我很高兴把手伸给你。 否则,我只会看到发布更新和文档更新。

请通过在 pipenv 的 GitHub 问题中回复新用户的问题来提供帮助; 这样,Dan 就不必担心回复这些内容,并且可以专注于此版本。

离发布越来越近了!

来自@techalchemy在 distutils-sig上的新更新电子邮件(反映在 pypa-dev list 上)。 包括一些您可以提供帮助的方法。

@AEHamrick我看到了你的评论https://github.com/pypa/pipenv/issues/3742#issuecomment -498312920——我快速浏览了#3382 和#3757,听起来这些已经在 master 中修复了。 是对的吗? 如果它们尚未在 master 中修复,请在此处的评论中说明,以便我们考虑将它们添加到发布里程碑中。 谢谢!

@brainwane嘿,感谢您签到。坦率地说,由于这里缺乏活动,我很久以前就开始使用 Poetry,但是如果我能找到时间,我会设置一个测试环境,看看我遇到的情况这些错误现在似乎没问题。

我完全理解, @AEHamrick - 谢谢。

我昨天贡献了更多的时间来帮助@techalchemy更进一步。 Dan 发布了 pythonfinder 和 requirementslib 的新版本,并进一步合并了 vendor-update 分支以解决缺少的依赖项/导入。 他今天仍在努力(截至今天早些时候,“有一些测试失败但不是太多 - 17 / 230 左右”)。

在 Pipenv 维护人员发布预发布后,用户的一些手动测试将帮助他们对推动规范发布充满信心。 我建议:您可以按照这些思路帮助开发“要测试的 Pipenv 工作流”列表

此外,任何关注此问题的人,请考虑转发此推文以了解当前状态以及人们如何提供帮助。

vistir实际上已经是最新的了; 从发布的 TODO 中删除了它。

并且@techalchemy已经启动了 Pipenv 发布过程说明指南——如果有步骤应该在其中而不是,请在此处发表评论或在该文档中添加一些要点。

Dan 更接近于能够合并feature/vendor-update分支:

1 failed, 231 passed, 21 skipped in 442.72 seconds

Dan 让测试在本地通过,现在已经提出 pull request #4169 并确保测试通过; 现在他们运行非常缓慢,有时会失败。 所以他现在正在努力——特别是试图让 Azure 语法正常工作。 取决于他能在多大程度上加快其中一些测试,以及它们是否会脱落,以及他是否必须追逐间歇性故障,他今天也许能够进行预发布! 或者可能是几天后。

人们问他们如何能提供帮助。 在接下来的几天或几周内, @techalchemy可能需要特别的帮助来测试 Windows 上的新预发布版本。 如果您愿意帮助在 Windows 上进行测试,请使用 :eyes: 表情符号对此评论做出反应。

如果您对 Azure 管道模板了解很多,请考虑加入 IRC 频道并在今天和/或明天提供帮助?

有关 PR 进度的更新,请参阅https://github.com/pypa/pipenv/pull/4169#issuecomment -607348834。

Dan 在让测试通过方面继续取得进展(正如 #4169 上的评论所指出的,测试在几个月前开始失败,所以他不仅要处理这个 PR,还要处理这里积压的技术债务)。 我更改了问题标题以反映现实。

请参阅https://github.com/pypa/pipenv/pull/4169#issuecomment -610017500 以获得有关 PR 进度的最新消息。

如果您可以帮助找出 Azure 上的 Windows 测试失败,请查看 #4169并发表评论。

其他人如何提供帮助:

感谢在 #4169 中贡献了 Windows 和 Azure 测试专业知识的人们!

Dan 刚刚合并了 #4169,并且正在确定是否还需要合并任何其他拉取请求,然后才能进行新的预发布。 一旦@techalchemy确实进行了预发布,他将寻求帮助进行测试。

还有一个单独的问题 #4130,用于制定改进路线图、贡献者和维护者流程的长期计划。

新问题 #4188 迫切需要修复,因为它破坏了现有的安装,所以 Dan 首先着手解决这个问题。 我已经相应地更新了本期开头的清单。

@techalchemy不打算进一步查看现有问题以寻找发布阻止者——在发布预发布和招募测试人员之后,他将筛选问题以查看是否有任何问题应该阻止新版本。

现在他和其他 pipenv 开发人员已经解决了 Windows 测试问题(在 #4169 和其他 PR 中)并且 Dan 正在解决 #4188(感谢 PyUp 人员昨天的电话),他希望有一个预发布pipenv 这个周末或周一出来。 版本号暂定为2020.04.1a1。 然后我们将招募测试人员进行大约一周的手动测试

我还不能修复它,但你至少有一个测试不是并行安全的。 测试在.azure-pipelines/steps/run-tests-windows.yml中使用pytest -n 3运行,但这会导致随机失败,例如 tests\integration\test_cli.py 中的缓存清除测试test_pipenv_clear tests\integration\test_cli.py

可能所有 cli 测试都共享缓存路径,并且不应该并行运行,或者让每个 PipEnvInstance 使用单独的根/主路径。

另请参阅两次运行相同的代码:
https://github.com/bneijt/pipenv/runs/596610863?check_suite_focus=true
https://github.com/bneijt/pipenv/runs/596726284?check_suite_focus=true

以下任何一项都可能会有所帮助,但我是该项目的新手,所以我不确定该怎么做:

  • 为计划构建而不是仅在拉取时设置 PR,这将更深入地了解构建是否在没有更改的情况下失败
  • 禁用 cli 套件的并行测试
  • 确保 PipenvInstance 为每个实例设置唯一的缓存路径。
  • 创建一个问题并将其留到另一次

请指教。

只是一个简短的说明,感谢所有支持 pipenv 版本的人。 非常感谢。 pipenv 应该是首选工具,尤其是在我看来,对于 Python 新手来说,因为它抽象了很多新手不应该在开始时烦恼的 virtualenv 麻烦。 好东西!

嘿,大家刚刚签到——遇到了一个小问题,依赖版本的损坏和一些更天蓝色的问题。 今晚都是绿色的,所以我明天会预发布 :) 感谢您的耐心等待!

作为另一个简短的更新,我暂时在 https://test.pypi.org 上发布了一个构建版本,供任何渴望获得副本的人使用——它可以通过pip install --index-url=https://test.pypi.org pipenv安装。 我尚未验证有关此构建的任何内容,但需要发布一些内容以声明对测试 PyPI 名称的所有权:)

这里的最后一步是移植一个 github 操作来执行一系列发布,首先到测试实例,然后处理实际发布。 这就是我现在在大多数其他项目中管理发布的方式,它应该使过程更加顺畅,因为它消除了我作为单点故障的情况。 再次感谢您的耐心等待,如果您遇到任何问题,请告诉我

谢谢@techalchemy! 仅供参考,这对我有用:

pip install -i https://test.pypi.org/simple/ pipenv

做了pip uninstall pipenv之后

是否需要安装特定版本的 pip? 我认为它在 pipenv 本身中使用了一个供应商,但我收到了这个错误:

do_install_dependencies 中的文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py”,第 862 行
normal_deps、procs、failed_deps_queue、requirements_dir、 install_kwargsbatch_install 中的文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py”,第 776 行使用_pep517=使用_pep517,文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py”,第 1484 行,在 pip_installno_deps=no_deps,require_hashes=不忽略_hashes文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py”,第 1341 行,在 get_pip_args如果 project.environment.pip_version >= parse_version("19.0"):环境中的文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvproject.py”,第 343 行self._environment.extend_dists(pipenv_dist)文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py”,第 102 行,位于 extend_distsextras = self.resolve_dist(dist, self.base_working_set)文件“C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py”,第 97 行,在 resolve_distdist = working_set.find(req)文件“C:UsersaaAppDataRoamingPythonPython36site-packagespkg_resources__init__.py”,第 644 行,在查找中引发 VersionConflict(dist, req)pkg_resources.VersionConflict: ( pip 9.0.1 (c:programdataanaconda3libsite-packages), Requirement.parse('pip>=18.0')**)

我们正在运行 python 3.6.0,我不愿意更新我们的全球版本的 pip,因为这之前意味着我们不能再运行pip install blah并且必须执行python -m pip install blah

感谢@techalchemy的辛勤工作! 期待发布

它可以通过 pip install --index-url= https://test.pypi.org pipenv 安装。

我很快在 virtualenv 中试了一下,得到了以下结果:

> pip install -i https://test.pypi.org/simple/ pipenv
Looking in indexes: https://test.pypi.org/simple/
Collecting pipenv
  Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8 MB)
     |████████████████████████████████| 3.8 MB 1.7 MB/s 
Requirement already satisfied: pip>=18.0 in ./.venc/lib/python3.6/site-packages (from pipenv) (20.0.2)
Requirement already satisfied: setuptools>=36.2.1 in ./.venc/lib/python3.6/site-packages (from pipenv) (46.1.3)
Collecting certifi
  Downloading https://test-files.pythonhosted.org/packages/0e/67/0383b38ee00ffa9f93348998d0b474c1f5aa4a4ff562957294f1477a47b5/certifi-2016.8.8-py2.py3-none-any.whl (384 kB)
     |████████████████████████████████| 384 kB 4.1 MB/s 
ERROR: Could not find a version that satisfies the requirement virtualenv-clone>=0.2.5 (from pipenv) (from versions: none)
ERROR: No matching distribution found for virtualenv-clone>=0.2.5 (from pipenv)

我认为这是因为 virtualenv-clone 在 test.pypi.org 上不可用; 在 venv 中手动安装virtualenv-clonevirtualenv对我有用。

分享这个以防这对其他人有帮助:)

@JeanFred尝试:

pip uninstall pipenv

然后重新运行安装

我刚刚更新了我当前的 pipenv:

pip install -i https://test.pypi.org/simple/ -U pipenv

奇迹般有效! 谢谢@techalchemy

@bneijt为您发现的测试脆弱性提交一个新问题将是一个好主意,否则我担心信息会在此处的预发布测试反馈中丢失。

抱歉,没有对此@JeanFred采取后续行动,您可以使用pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv暂时解决此问题

如果您可以稍等一下,我将很快向 PyPI 推送一个预发布版本

抱歉,没有对此@JeanFred采取后续行动,您可以使用pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv暂时解决此问题

如果您可以稍等一下,我将很快向 PyPI 推送一个预发布版本

@techalchemy ,感谢您的努力! 我是不是太快了?

# pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv
Looking in indexes: https://test.pypi.org/simple, https://pypi.org/simple
Collecting pipenv
  Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8MB)
    100% |████████████████████████████████| 3.8MB 368kB/s 
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://test.pypi.org/simple/virtualenv-clone/

大家好,我继续将预发布版推送到常规 pypi,这样您就可以避免测试 pypi 的复杂性——随意尝试pip install --upgrade --pre pipenv ,您应该会看到2020.4.1b1安装

明天睡觉后我会发送更多详细信息,但会鼓励任何希望对此进行测试的人咨询或构建本文档中列出的手动工作流程

再次感谢您的耐心等待!

这真让人兴奋! 感谢所有为此工作的人。

我还没有读完这一切,但我已经看到了一个 alpha 版本,而不是立即一个 beta 版本。 在 Fedora 中,我们将测试预发布版本,但我们需要几天时间,而且 Alpha 版之后的快速测试版让我有点吃惊。

@hroncok主要 pypi 上的 alpha 版本主要是为了验证版本自动化更改,beta 版本将至少持续一周。 如果您需要更多时间或在重新包装方面遇到任何其他挑战,请随时在 IRC 上联系我

如果您需要更多时间或在重新包装方面遇到任何其他挑战,请随时在 IRC 上联系我

如果需要会做。 谢谢你。

编辑:我在这里退订了,因为我怀疑这里有很多“新版本对我有用”的用户报告。

@techalchemy谢谢! 已经在一个项目中进行了测试,它做得很好!

# pip uninstall -y virtualenv virtualenv-clone pipenv
Uninstalling virtualenv-20.0.18:
  Successfully uninstalled virtualenv-20.0.18
Uninstalling virtualenv-clone-0.5.4:
  Successfully uninstalled virtualenv-clone-0.5.4
Uninstalling pipenv-2020.4.1a1:
  Successfully uninstalled pipenv-2020.4.1a1
# pip install --pre pipenv
Collecting pipenv
  Downloading https://files.pythonhosted.org/packages/c6/ae/de435f1da25056a181cbc3241d747b521f0caf8db0e5ca19400b9f120e7d/pipenv-2020.4.1b1-py2.py3-none-any.whl (3.8MB)
    100% |████████████████████████████████| 3.8MB 391kB/s 
Collecting virtualenv-clone>=0.2.5 (from pipenv)
  Using cached https://files.pythonhosted.org/packages/83/b8/cd931487d250565392c39409117436d910232c8a3ac09ea2fb62a6c47bff/virtualenv_clone-0.5.4-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from pipenv) (2018.8.24)
Requirement already satisfied: pip>=18.0 in /usr/lib/python3/dist-packages (from pipenv) (18.1)
Collecting virtualenv (from pipenv)
  Using cached https://files.pythonhosted.org/packages/23/1a/d55f5fb904564365c3d364fd41701a74ad497379f04fd548cccc3f227d98/virtualenv-20.0.18-py2.py3-none-any.whl
Requirement already satisfied: filelock<4,>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (3.0.12)
Requirement already satisfied: distlib<1,>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (0.3.0)
Requirement already satisfied: importlib-metadata<2,>=0.12; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.6.0)
Requirement already satisfied: six<2,>=1.9.0 in /usr/lib/python3/dist-packages (from virtualenv->pipenv) (1.12.0)
Requirement already satisfied: appdirs<2,>=1.4.3 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata<2,>=0.12; python_version < "3.8"->virtualenv->pipenv) (3.1.0)
Installing collected packages: virtualenv-clone, virtualenv, pipenv
Successfully installed pipenv-2020.4.1b1 virtualenv-20.0.18 virtualenv-clone-0.5.4
# pipenv --version
pipenv, version 2020.4.1b1 

我在导入需求文件时遇到问题。 这是使用 python 3.8.2 和上面最新的 pipenv:

Mathieus-MacBook-Pro: mhindery$ pipenv install -r requirements.txt 
Creating a virtualenv for this project…
Pipfile: /<...>/Pipfile
Using /<...>/.pyenv/versions/3.8.2/bin/python3.8 (3.8.2) to create virtualenv…
⠧ Creating virtual environment...created virtual environment CPython3.8.2.final.0-64 in 444ms
  creator CPython3Posix(dest=/<...>-7y_bNLv7, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/<...>/virtualenv/seed-app-data/v1.0.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment! 
Virtualenv location: /<...>-7y_bNLv7
Requirements file provided! Importing into Pipfile…
Traceback (most recent call last):
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 789, in write_toml
    formatted_data = tomlkit.dumps(data).rstrip()
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/api.py", line 42, in dumps
    return data.as_string()
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 343, in as_string
    s += self._render_aot(k, v)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 412, in _render_aot
    cur += self._render_aot_table(table, prefix=_key)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 421, in _render_aot_table
    if not table.is_super_table():
AttributeError: 'dict' object has no attribute 'is_super_table'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mhindery/.pyenv/versions/3.8.2/bin/pipenv", line 10, in <module>
    sys.exit(cli())
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/cli/command.py", line 231, in install
    retcode = do_install(
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 1982, in do_install
    import_requirements(r=project.path_to(requirements), dev=dev)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 230, in import_requirements
    project.add_index_to_pipfile(index, verify_ssl=trusted)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 990, in add_index_to_pipfile
    self.write_toml(p)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 793, in write_toml
    document[section] = tomlkit.container.Table()
TypeError: __init__() missing 3 required positional arguments: 'value', 'trivia', and 'is_aot_element'
Mathieus-MacBook-Pro: mhindery$ pipenv --version
pipenv, version 2020.4.1b1
Mathieus-MacBook-Pro: mhindery$ python --version
Python 3.8.2
Mathieus-MacBook-Pro:usermanagement mhindery$ pyenv --version
pyenv 1.2.18
Mathieus-MacBook-Pro: mhindery$ 

@mhindery快速修复已登陆 #4219

我发现了一个看似无关紧要的错误,我在单独的 #4220 中报告了该错误。

你好,
很高兴看到发布正在形成。

我想尝试一下 Mac Os 上的预发布版本,并让我的项目库的大多数锁定和安装工作,除了这里提到的 2:
https://github.com/pypa/pipenv/issues/4227

@techalchemy在 Python 的 Discourse 论坛上宣布了预发布,详细信息包括:

  • 发布目标(5月7日星期四)
  • 什么是新的(亮点和完整的变更日志)
  • Pipenv 需要什么帮助测试
  • 项目中的其他变化:流程和沟通变化、发布节奏和财务支持
  • 谢谢你

Windows 测试:向早先自愿参与的人们致敬! 如果可以的话,请在现在到 5 月 6 日之间测试 Pipenv 并提交错误

@命令选项卡
@mungojam
@snakeice
@nicholasAlert
@madsmtm
@Mause
@gmsantos
@davekeanexero
@lucidyan
@bratao
@sudopriestmx
@amhrasmussen

Windows 测试:向早先自愿参与的人们致敬! 如果可以的话,请在现在到 5 月 6 日之间测试 Pipenv 并提交错误

我运行了此链接中的命令, pipenv update --dry-run导致异常 #4229

它也发生在其他项目以及 Linux/Ubuntu 上。 pipenv 更新按预期工作。

我没有检查过@techalchemy ,但我只是快速浏览了这个 repo 和四个 Sarugaku 存储库(例如 requirementslib),看看这个 beta 的进展情况。

变化:

4232 出现并由#4236 修复。

4217 出现并由#4241(也解决了#3396)修复。

4219 和 #4230 现在合并了。

还开着:

4231 仍然开放,Dan 需要帮助在 Mac OS X 和/或 Linux 上复制它——“对于 setup.py 的setup_requirescython ,pipenv 似乎没有兑现它,而锁定 Pipfile”。

@brainwane仅供参考:sarugaku/requirementslib#229 是对 sarugaku/requirementslib#228 中描述的回归的修复,它是此测试版的一部分。

@brainwane我认为#4218 也会成为障碍吗? 这是一种回归,完全破坏了具有某些依赖关系的现有项目和新项目。

为了在此处提供额外的更新,我将尝试在明天发布此版本(我意识到这比计划晚了一天,但其中一些问题相对难以追踪 - 非常感谢你们中的那些能够测试,提供反馈,并帮助深入了解正在发生的一些微妙问题。

我在这里发布了关于发布阻塞问题的更彻底的事后分析——现在正在等待构建完成,但现在是周六早上 1 点,我很可能会在周一之前避免发布,以免在没有人的时候破坏任何东西回应/反应。

再次感谢所有提供有价值的调试信息以帮助解决其中一些问题的人,它使过程更加顺畅。

@techalchemy

@Immortalin即使丹说可能会在星期一期待某些事情,您的评论也没有建设性。 请检查自己。

丹,我们都感谢你的辛勤工作。 我想我们大多数人都意识到我们需要找到更多的方法来帮助你。

4251 可能是一个阻碍( pipenv install --outdated失败)。

你打算发布另一个测试版吗? 我使用的是 2020.4.1b1 版本,在使用 psycopg2 锁定项目时遇到错误。 我看到有 #4231 之类的修复,所以我宁愿使用带有所有错误修复的最新版本的 pipenv 来检查它,而不是报告已经修复的问题。

这是发布更新。 Tl;dr:我们在更新 pipenv 供应商的依赖库时遇到了意外问题,这导致了延迟。 在接下来的几天里,会有一个新的预发布。

细节:
上周晚些时候,我正在合并 vistir 中应该是一个简单的修复来解决 #4195。 我正在做这个改变,作为准备发布的快速修复的一部分; vistir 是为 Pipenv 提供一些跨平台/Python 2/3 兼容性支持的库之一。 然而,由于各种奇怪的原因,CI 全面失败了,要弄清楚和正确解决这件事有点费时。 无论如何,我不能只是恢复修复并发布,因为如果没有这个修复,就有可能破坏 Pipenv 中的跨平台和兼容性。

计划:

  • 〜发布库(https://github.com/sarugaku/vistir / https://github.com/sarugaku/requirementslib)〜
  • ~在 Pipenv 中重新供应商更新的库~
  • ~合并 Pipenv 中剩余的低风险、准备合并的 PR~
  • ~查看发布阻止程序的 Pipenv 问题~
  • ~Pre?Release:可能会在正式发布之前对 Pipenv 进行新的预发布~

补充笔记

  • 失败与更改无关,但可能与 Azure(CI 环境)如何创建 Python 实例的更改有关
  • 在一种情况下,这可能暴露了在 Windows 上如何对输出进行编码和解码的重大潜在错误,而另一种情况与表示最新版本 MacOS 的路径有关
  • 该功能已通过基于属性的测试进行彻底测试,因此我们可以确信故障是真正的问题,并且测试将捕获持续存在的问题
  • 感谢其他库和 Pipenv 维护者、测试人员和其他用户帮助我追踪东西

首先,让我非常感谢您在此版本中所做的工作,并让这个项目继续进行。 Pipenv 多次救了我。

说了这么多,有可能会稍微偏离主题。 鉴于发布过程中的最新问题

上周晚些时候,我正在合并 vistir 中应该是一个简单的修复来解决 #4195。 我正在做这个改变,作为准备发布的快速修复的一部分; vistir 是为 Pipenv 提供一些跨平台/Python 2/3 兼容性支持的库之一。 然而,由于各种奇怪的原因,CI 全面失败了,要弄清楚和正确解决这件事有点费时。 无论如何,我不能只是恢复修复并发布,因为如果没有这个修复,就有可能破坏 Pipenv 中的跨平台和兼容性。

您是否考虑过放弃对 python 2 的支持(它是 EOL)并删除它的要求(即 vistir 或者其他)?

我假设将放弃对 python2 的长期支持,但如果现在放弃它可以简化发布过程,降低项目的复杂性,并且更容易削减这个版本,也许应该现在而不是以后完成?

ps再次感谢您的辛勤工作

编辑:正如 flimm 建议的那样,我打开了另一个问题 #4261 以讨论放弃 python 2 以尝试在 2020 年的第一个版本中保持对话

让我们在单独的 GitHub 问题中继续讨论放弃对 Python 2 的支持,因为我觉得它可能会变得很吵。

@r-richmond vistir 也用于 Python 3 的逻辑分支,所以我不认为删除对 Python 2 的支持会使这个版本变得更容易。

因此,我继续削减了 pipenv 的另一个发行版( 2020.4.1b2 - 发行版将标有它的发布日期,因此不必太担心命名)。

我认为此版本包含了我希望包含的大部分(如果不是全部)更改。 自上次预发布以来,我确实合并了一项重大更改,该更改应避免重新启动流程以尝试pip install已经满足的依赖项,因此请报告任何问题,因为我计划在下周三正式发布.

再次感谢所有帮助测试、提供反馈并帮助合并修复的人!

刚刚@techalchemy交谈过。 他正在检查#4263 和#3592 以确保它们不是阻塞器。 他还说

我只看到一个关于供应商导入路径的问题......
revending 完成并没有解决导入路径问题,所以我可能会接受关于该问题的 PR 并暂时为其生成补丁

我想这是#4267,但我不确定。

一旦这些都处理好,我相信他的目标是今天释放。

^ 已发布,感谢所有帮助测试的人!

哇! 非常精彩! 非常感谢您让 pipenv 起死回生!

2020 年 5 月 28 日星期四 15:17 Dan Ryan, notifications @github.com 写道:

^ 已发布,感谢所有帮助测试的人!


您收到此消息是因为您订阅了此线程。
直接回复此邮件,在 GitHub 上查看
https://github.com/pypa/pipenv/issues/3369#issuecomment-635107609 ,或
退订
https://github.com/notifications/unsubscribe-auth/AAAOGWNSCAEOBRJ5S4WZHADRTXXWHANCNFSM4GJK7LZA
.

^ 已发布,感谢所有帮助测试的人!

非常感谢! :+1: :partying_face:

根据https://pypi.org/project/pipenv/#historyPipenv 2020.5.28 现已发布,因此我将关闭此问题,从而关闭发布里程碑

感谢@techalchemy - 感谢Canonical 让他在他的一些日常工作时间内从事这方面的工作。

在我看来:如果您在工作中使用 Python,并且想要更好、更频繁地发布此工具和其他 Python 打包/分发/安装工具,请让您的雇主提供赞助。 如果预算更大,包装工作组可以付钱给承包商,让他们始终如一地从事这些项目并保持良好状态。

如果您想通过志愿服务提供帮助,请阅读此公告并关注关于改进 Pipenv 的路线图和贡献者维护流程的问题 #4130,这可能是更多讨论的地方。

感谢为此版本做出贡献的所有人——用户、测试人员、信号增强者、评论者、补丁作者,以及在此处或邮件列表和社交媒体上发表评论的人!

(我写了一篇博文,讲述了如何打破瓶颈并发布此版本,以及您可以做些什么来为其他项目复制它——无论是您自己还是通过我的公司 Changeset Consulting 。)

Sumana,谢谢你分享这个故事。 更重要的是把你的
时间和精力投入到pipenv复兴中。 正如你提到的,解锁价值
是巨大的。

2020 年 9 月 11 日星期五 21:05,Sumana Harihareswara [email protected]
写道:

(我写了一篇博文https://www.harihareswara.net/sumana/2020/09/08/0
关于如何打破瓶颈并发布此版本,以及
关于你可以做些什么来为其他项目复制这个——要么
您自己或通过我的公司 Changeset Consulting https://changeset.nyc/
.)


您收到此消息是因为您订阅了此线程。
直接回复此邮件,在 GitHub 上查看
https://github.com/pypa/pipenv/issues/3369#issuecomment-691029882 ,或
退订
https://github.com/notifications/unsubscribe-auth/AAAOGWNIKWJKNTMUH5PNUZ3SFIAAZANCNFSM4GJK7LZA
.

--
扎尔

大家好,

这是否解决了 #3488 上出现的 WSL 问题?

您提到的问题无法在 pipenv 中解决。 您需要按照问题中的说明自行配置环境。

此页面是否有帮助?
0 / 5 - 0 等级