Python 3.x Python pip:ImportError无法导入名称';确保';从';六个;。关于多个pip命令

Python 3.x Python pip:ImportError无法导入名称';确保';从';六个;。关于多个pip命令,python-3.x,pip,six,Python 3.x,Pip,Six,当我第一次想为python3安装TQM包时,我注意到有些地方出了问题。运行pip安装tqdmi修订 ImportError:无法从“six”(/home/carl/.local/lib/python3.8/site packages/six.py)导入名称“sure_str” 在运行各种pip命令时,例如pip freeze和pip list,但不是pip show[package]或pip-h时,似乎存在类似的问题 我不知道从哪里开始,以及如何看待这种情况,我非常感谢你的帮助。我将在下面发布完

当我第一次想为python3安装TQM包时,我注意到有些地方出了问题。运行
pip安装tqdm
i修订

ImportError:无法从“six”(/home/carl/.local/lib/python3.8/site packages/six.py)导入名称“sure_str”

在运行各种pip命令时,例如
pip freeze
pip list
,但不是
pip show[package]
pip-h
时,似乎存在类似的问题

我不知道从哪里开始,以及如何看待这种情况,我非常感谢你的帮助。我将在下面发布完整的跟踪内容

完全回溯:
pip安装[任何软件包]

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    load_entry_point('pip==20.0.2', 'console_scripts', 'pip')()
  File "/usr/lib/python3.8/site-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/usr/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/usr/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/usr/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 2, in <module>
    from pip._internal.distributions.wheel import WheelDistribution
  File "/usr/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py", line 5, in <module>
    from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel
  File "/usr/lib/python3.8/site-packages/pip/_internal/utils/wheel.py", line 12, in <module>
    from pip._vendor.six import PY2, ensure_str
ImportError: cannot import name 'ensure_str' from 'six' (/home/carl/.local/lib/python3.8/site-packages/six.py) 
编辑:
有人建议我去看看。它说“确保”包含在6个1.12及更高版本中,但我只有1.11版。这就解释了为什么找不到它。但是,我无法通过运行
pip安装--upgrade six
pip uninstall six
pip check six
来修复此问题。因为这些命令中的任何一个都会给出相同的“无法导入名称”错误。如能帮助解决此问题,我们将不胜感激

从代码附带的
requirements.txt
文件安装时,我的虚拟环境中出现了这个问题。我的系统Python(3.8.5)运行得很好,在系统上我有
six==1.14.0
,但是requirements.txt文件有
six==1.11.0
。因此,每当我在我的venv中运行
pip install-r requirements.txt
时,就会出现问题,因为它会安装旧版本的six

我的解决方案是删除我创建的第一个venv,将
requirements.txt
中的行更改为
six==1.14.0
(工作版本),重建我的venv,然后使用新修改的requirements.txt文件进行安装。事后看来,这似乎是常识,但我当时没有想到。简而言之:不要用旧的、不兼容的版本覆盖six的工作版本

  • 打开文件
    /home/carl/.local/lib/python3.8/site packages/six.py
  • 将文件内容替换为中的最新版本
  • 它对我有用


    摘自:

    这是否回答了您的问题?升级您的
    six
    。如果您无法使用
    pip升级,请从升级,谢谢大家!我已经设法更准确地找到了错误所在。它可以做任何事情,只要我以前做过
    sudo
    。这是因为
    six
    安装在root
    /usr/lib/python3.8/site-packages/
    中。然而,pip试图在
    /home/myname/.local/lib/python3.8/…
    中找到它,这可能是因为我以前尝试过让pip在没有sudo的情况下工作。关于如何将所有内容从
    /usr/lib/
    迁移到
    /home/myname/.local/lib
    ?如何在不使用
    pip的情况下升级
    six
    :下载
    six-1.14.0.tar.gz
    ,提取并运行
    python setup.py install
    ,我终于解决了问题,谢谢@phd,我无法使用
    python安装程序安装--user
    hower我强制安装在
    /home/myname/.loval/ib/python3.8/site packages/
    中,然后我使用新的six.py文件替换了在那里出现错误的文件。
    Traceback (most recent call last):
      File "/usr/bin/pip", line 11, in <module>
        load_entry_point('pip==20.0.2', 'console_scripts', 'pip')()
      File "/usr/lib/python3.8/site-packages/pip/_internal/cli/main.py", line 73, in main
        command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
      File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
        module = importlib.import_module(module_path)
      File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
      File "<frozen importlib._bootstrap>", line 991, in _find_and_load
      File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 783, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/usr/lib/python3.8/site-packages/pip/_internal/commands/freeze.py", line 12, in <module>
        from pip._internal.operations.freeze import freeze
      File "/usr/lib/python3.8/site-packages/pip/_internal/operations/freeze.py", line 17, in <module>
        from pip._internal.req.constructors import (
      File "/usr/lib/python3.8/site-packages/pip/_internal/req/__init__.py", line 11, in <module>
        from .req_file import parse_requirements
      File "/usr/lib/python3.8/site-packages/pip/_internal/req/req_file.py", line 25, in <module>
        from pip._internal.req.constructors import (
      File "/usr/lib/python3.8/site-packages/pip/_internal/req/constructors.py", line 28, in <module>
        from pip._internal.req.req_install import InstallRequirement
      File "/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 30, in <module>
        from pip._internal.operations.install.wheel import install_wheel
      File "/usr/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py", line 33, in <module>
        from pip._internal.utils.wheel import parse_wheel
      File "/usr/lib/python3.8/site-packages/pip/_internal/utils/wheel.py", line 12, in <module>
        from pip._vendor.six import PY2, ensure_str
    ImportError: cannot import name 'ensure_str' from 'six' (/home/carl/.local/lib/python3.8/site-packages/six.py)