为什么pip说“没有名为commands.install的模块”?

时间:2015-01-28 15:54:00

标签: python windows install pygame pip

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


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


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

3 个答案:

答案 0 :(得分:7)

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

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:~$ 

答案 1 :(得分:-1)

为什么要使用扩展程序?

来自pip doc:

$ 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

答案 2 :(得分:-2)

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