为什么 pip 说 "No module named commands.install"?

Why does pip say "No module named commands.install"?

我安装了pip,我把cmd里的目录移动到C:\Python27\Scripts。我试试这段代码: 'pip install whatever.whl'


它在随机代码的底部说(看起来像python):


'ImportError: No module named commands.install' 发生了什么事?

所有 pip 问题的最佳解决方案是您新安装 python 2.7.9,然后 运行。否则,您的确切问题可能很难找到。

为什么要使用扩展程序?

来自 pip 文档:

$ pip install SomePackage            # latest version
$ pip install SomePackage==1.0.4     # specific version
$ pip install 'SomePackage>=1.0.4'     # minimum version

请看这里:https://pip.pypa.io/en/latest/reference/pip_install.html#examples

我在另一种情况下通过卸载有问题的软件包解决了这个问题。你可以试试:

sudo pip install -U setuptools

这是我的日志:

sam@sam:~$ sudo pip install protobuf --upgrade
The directory '/home/sam/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/sam/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting protobuf
  Downloading protobuf-2.6.1.tar.gz (188kB)
    100% |████████████████████████████████| 188kB 194kB/s 
Collecting setuptools (from protobuf)
  Downloading setuptools-18.5-py2.py3-none-any.whl (462kB)
    100% |████████████████████████████████| 462kB 940kB/s 
Installing collected packages: setuptools, protobuf
  Found existing installation: setuptools 18.4
    Uninstalling setuptools-18.4:
      Successfully uninstalled setuptools-18.4
  Rolling back uninstall of setuptools
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 646, in install
    **kwargs
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 803, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 998, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 242, in move_wheel_files
    name, user=user, home=home, root=root, isolated=isolated
  File "/usr/local/lib/python2.7/dist-packages/pip/locations.py", line 183, in distutils_scheme
    i = d.get_command_obj('install', create=True)
  File "/usr/lib/python2.7/distutils/dist.py", line 845, in get_command_obj
    klass = self.get_command_class(command)
  File "/usr/local/lib/python2.7/dist-packages/setuptools/dist.py", line 430, in get_command_class
    self.cmdclass[command] = cmdclass = ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2355, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2361, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named command.install
sam@sam:~$

sam@sam:~$ sudo pip install -U setuptools
The directory '/home/sam/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/sam/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting setuptools
  Downloading setuptools-18.5-py2.py3-none-any.whl (462kB)
    100% |████████████████████████████████| 462kB 1.3MB/s 
Installing collected packages: setuptools
  Found existing installation: setuptools 18.4
    Uninstalling setuptools-18.4:
      Successfully uninstalled setuptools-18.4
Successfully installed setuptools-18.5
sam@sam:~$ 
sam@sam:~$ sudo pip install protobuf --upgrade
The directory '/home/sam/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/sam/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting protobuf
  Downloading protobuf-2.6.1.tar.gz (188kB)
    100% |████████████████████████████████| 188kB 214kB/s 
Requirement already up-to-date: setuptools in /usr/local/lib/python2.7/dist-packages (from protobuf)
Installing collected packages: protobuf
  Found existing installation: protobuf 2.4.1
    Uninstalling protobuf-2.4.1:
      Successfully uninstalled protobuf-2.4.1
  Running setup.py install for protobuf
Successfully installed protobuf-2.6.1
sam@sam:~$