【问题标题】:Pipenv install Locking Failed!No module named 'json'Pipenv install Locking Failed!没有名为 'json' 的模块
【发布时间】:2019-03-30 08:20:20
【问题描述】:

我最近正在清理我的电脑。我删除了 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'

我列出了我提交的尝试。

  • $ pip install --user pipenv
  • deleted pip reload pip
  • 导出路径

这是一个和我很像的例子。Python sees json module but pipenv doesn't. Why?

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

【问题讨论】:

    标签: python pipenv


    【解决方案1】:

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

    在 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
    

    【讨论】:

      【解决方案2】:

      感谢布莱恩, bryan 提醒我,当我选择一个新文件夹并运行 pipenv shell

      [    ] Creating virtual environment...Already using interpreter c:\users\hank\appdata\local\programs\python\python36\python.exe
      Using base prefix 'c:\\users\\hank\\appdata\\local\\programs\\python\\python36'
      New python executable in C:\Users\hank\.virtualenvs\hankspace-spEtL83E\Scripts\python.exe
      Command C:\Users\hank\.virtua...E\Scripts\python.exe -m pip config list had error code 1
      Installing setuptools, pip, wheel...
      
        Complete output from command C:\Users\hank\.virtua...E\Scripts\python.exe - setuptools pip wheel:
        Traceback (most recent call last):
        File "<stdin>", line 3, in <module>
      ModuleNotFoundError: No module named 'pkgutil'
      ----------------------------------------
      ...Installing setuptools, pip, wheel...done.
      
      Failed creating virtual environment
      [pipenv.exceptions.VirtualenvCreationException]:   File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\pipenv\cli\command.py", line 390, in shell
      [pipenv.exceptions.VirtualenvCreationException]:       pypi_mirror=state.pypi_mirror,
      [pipenv.exceptions.VirtualenvCreationException]:   File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\pipenv\core.py", line 2156, in do_shell
      [pipenv.exceptions.VirtualenvCreationException]:       three=three, python=python, validate=False, pypi_mirror=pypi_mirror,
      [pipenv.exceptions.VirtualenvCreationException]:   File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\pipenv\core.py", line 574, in ensure_project
      [pipenv.exceptions.VirtualenvCreationException]:       pypi_mirror=pypi_mirror,
      [pipenv.exceptions.VirtualenvCreationException]:   File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\pipenv\core.py", line 506, in ensure_virtualenv
      [pipenv.exceptions.VirtualenvCreationException]:       python=python, site_packages=site_packages, pypi_mirror=pypi_mirror
      [pipenv.exceptions.VirtualenvCreationException]:   File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\pipenv\core.py", line 935, in do_create_virtualenv
      [pipenv.exceptions.VirtualenvCreationException]:       extra=[crayons.blue("{0}".format(c.err)),]
      [pipenv.exceptions.VirtualenvCreationException]: Traceback (most recent call last):
        File "c:\users\hank\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
          "__main__", mod_spec)
        File "c:\users\hank\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\virtualenv.py", line 2567, in <module>
          main()
        File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\virtualenv.py", line 793, in main
          symlink=options.symlink,
        File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\virtualenv.py", line 1088, in create_environment
          install_wheel(to_install, py_executable, search_dirs, download=download)
        File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\virtualenv.py", line 935, in install_wheel
          _install_wheel_with_search_dir(download, project_names, py_executable, search_dirs)
        File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\virtualenv.py", line 1025, in _install_wheel_with_search_dir
          call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=script)
        File "c:\users\hank\appdata\local\programs\python\python36\lib\site-packages\virtualenv.py", line 886, in call_subprocess
          raise OSError("Command {} failed with error code {}".format(cmd_desc, proc.returncode))
      OSError: Command C:\Users\hank\.virtua...E\Scripts\python.exe - setuptools pip wheel failed with error code 1
      
      Failed to create virtual environment.
      

      后来发现这个问题可以追溯到virtualenv,最后发现https://itqna.net/questions/16455/problems-trying-create-virtual-environment-pipenv这个帖子解决了我的问题

      python -m venv .venv 
      pipenv shell
      pipenv install
      

      成功了!

      【讨论】:

      • 是的,这终于为我解决了,感谢您发布您重新搜索的方法
      【解决方案3】:

      根据您分享的命令和回溯,您是否真的创建并进入了您的环境? (pipenv 外壳)

      我遇到了类似的问题,安装软件包后无法锁定,结果我安装了 64 位和 32 位 Python,这导致了冲突。 为了修复它,我删除了 32 位(开始菜单 -> 设置 -> 应用程序),然后删除了我已经创建的虚拟环境。 导航到 C:\Users\.virtualenvs 然后删除具有您的环境名称的文件夹。现在您可以导航回您的文件夹并通过调用 pipenv shell 再次创建 pipenv 环境。

      【讨论】:

      • 感谢您的提醒,我发现这个问题可以追溯到 virtualenv,虽然我无法通过卸载 .virtualenv 来使用 pipenv。但是我更改了关键字以找到更多与我相似的情况。最后我在一个帖子里找到了解决方法,我会放在下面。再次感谢,你拯救了我的周末!
      【解决方案4】:

      试试下面的命令:

      python36ana.exe -m pipenv --python 3.6
      

      【讨论】:

        猜你喜欢
        • 2019-04-08
        • 2021-06-08
        • 1970-01-01
        • 2018-10-12
        • 2019-06-17
        • 2020-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多