【问题标题】:Get ImportError: cannot import name 'InstallCommand' when run command `pipenv shell`获取 ImportError:运行命令“pipenv shell”时无法导入名称“InstallCommand”
【发布时间】:2022-07-29 18:58:20
【问题描述】:

当我执行以下步骤时,我得到了ImportError

我安装了 pipenv

pip install pipenv

接下来,我为python创建虚拟环境并激活

python -m venv env
source ./env/Scripts/activate

最后,我运行命令

pipenv shell

我得到 ImportError

完整引用:

$ pipenv shell
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project. You can set PIPENV_IGNORE_VIRTUALENVS=1 to force pipenv to ignore that environment and create its own instead. You can set PIPENV_VERBOSITY=-1 to suppress this warning.
Creating a Pipfile for this project...
Traceback (most recent call last):
  File "C:\Users\ndqnhat\AppData\Local\Programs\Python\Python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\ndqnhat\AppData\Local\Programs\Python\Python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\workplace\nhatndq\env\Scripts\pipenv.exe\__main__.py", line 9, in <module>
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\cli\options.py", line 56, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\cli\command.py", line 420, in shell
    pypi_mirror=state.pypi_mirror,
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\core.py", line 2431, in do_shell
    pypi_mirror=pypi_mirror,
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\core.py", line 594, in ensure_project
    system=system_or_exists,
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\core.py", line 296, in ensure_pipfile
    project.create_pipfile(python=python)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\project.py", line 682, in create_pipfile
    from .vendor.pip_shims.shims import InstallCommand
ImportError: cannot import name 'InstallCommand'
(env) 
ndqnhat@DNDW-NDQNHAT MINGW64 /c/workplace/nhatndq
$ pipenv install
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project. You can set PIPENV_IGNORE_VIRTUALENVS=1 to force pipenv to ignore that environment and create its own instead. You can set PIPENV_VERBOSITY=-1 to suppress this warning.
Creating a Pipfile for this project...
Traceback (most recent call last):
  File "C:\Users\ndqnhat\AppData\Local\Programs\Python\Python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\ndqnhat\AppData\Local\Programs\Python\Python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\workplace\nhatndq\env\Scripts\pipenv.exe\__main__.py", line 9, in <module>
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\cli\options.py", line 56, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\vendor\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\cli\command.py", line 241, in install
    site_packages=state.site_packages,
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\core.py", line 1972, in do_install
    site_packages=site_packages,
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\core.py", line 594, in ensure_project
    system=system_or_exists,
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\core.py", line 296, in ensure_pipfile
    project.create_pipfile(python=python)
  File "c:\workplace\nhatndq\env\lib\site-packages\pipenv\project.py", line 682, in create_pipfile
    from .vendor.pip_shims.shims import InstallCommand
ImportError: cannot import name 'InstallCommand'

我该如何解决?请帮我!谢谢!

【问题讨论】:

    标签: python pipenv


    【解决方案1】:

    这可能是由于机器的默认 python 版本。 您可以通过设置您将使用的默认 python 版本来解决此问题。

    RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
    RUN update-alternatives --set python /usr/bin/python3.6
    RUN curl -s https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
    python get-pip.py --force-reinstall && \ rm get-pip.py
    RUN pip3 install pipenv
    RUN pipenv --python 3.6
    

    注意:

    1. python3.x 版本可以是您使用的任何版本。
    2. 你必须在这些命令之前apt install python3.x

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2020-09-10
      相关资源
      最近更新 更多