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

2024-04-26 12:57:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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


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


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


Tags: installpipno代码目录cmdscriptscommands
3条回答

你为什么用分机?

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

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

相关问题 更多 >