首页 > 解决方案 > Pipenv install Locking Failed!没有名为 'json' 的模块

问题描述

我最近正在清理我的电脑。我删除了 vstudio2017。

现在我的环境

python3.6,win10

奇怪的事情发生了,pipenv 似乎完全无效。

PS F:\hankspace\flaskproject> pipenv install
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Locking Failed!
Traceback (most recent call last):
  File "c:/users/hank/appdata/local/programs/python/python37/lib/site-packages/pipenv/resolver.py", line 3, in <module>
    import json
ModuleNotFoundError: No module named 'json'
File "c:/users/hank/appdata/local/programs/python/python37/lib/site-packages/pipenv/resolver.py", line 3, in <module>
    import json
ModuleNotFoundError: No module named 'json'

我删除了 python3.6 和 pipenv 并重新加载了 python3.7 和 pipenv。但他们有同样的问题。

PS F:\hankspace\flaskproject> pipenv graph

ERROR:  Traceback (most recent call last):
  File "c:\\users\\hank\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\pipenv\\vendor\\pipdeptree.py", line 6, in <module>
    import argparse
ModuleNotFoundError: No module named 'argparse'

我列出了我提交的尝试。

这是一个看起来很像我的例子。Python 看到json模块,但 pipenv 没有。为什么?

我想他可能已经解决了这个问题,但我没有足够的声誉来发表评论。如果有人能给我一些建议,我将不胜感激。

标签: pythonpipenv

解决方案


为我解决的问题是将以下内容添加到我的系统环境变量中:

在 Windows 中:

setx /M PIPENV_VENV_IN_PROJECT 1

这将强制 pipenv 在您的项目文件夹中创建一个“.venv”目录,而不是在您的用户配置文件目录中创建一个默认的“virtualenvs”(这部分是破坏“pipenv 安装”的部分)。它还将为您提供正确的“.venv”目录和文件结构,对应于 pipenv 创建它的方式,而不是“python -m venv .venv”创建它的方式。从我所看到的,结构是不同的。

有关此问题的更多信息,请访问以下 URL: https ://github.com/pypa/pipenv/issues/1382

如果您希望在 Linux 中获得相同的结果,请使用以下命令设置变量:

export PIPENV_VENV_IN_PROJECT=1

推荐阅读