繁体   English   中英

导入错误:尝试安装软件包时没有名为 pip 的模块

[英]ImportError: No module named pip when trying to install packages

使用 PyCharm 全新安装 Ubuntu 13.10,在设置 python 解释器时,我选择了“安装 setuptools”,然后选择“安装 pip”。 现在,如果我尝试用 pip 做任何事情,我会得到以下信息:

  ciaran@ciaran-desktop:~/pycharm/bin$ pip
  Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
    load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 357, in load_entry_point
   """Does the package's distribution contain the named metadata?"""
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2394, in load_entry_point

  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2108, in load

  ImportError: No module named pip

我试过 python 2.7.5 和 3.3.2 并且都产生相同的结果。

编辑:以上输出来自终端。 PyCharm 输出以下内容:

Error: Python package management tool 'pip' not found 

从pip-website( http://pip.readthedocs.org/en/stable/installing/ )下载get-pip.py文件。 打开终端,cd进入放置get-pip.py的文件夹并运行:

sudo python3 get-pip.py

打开pycharm并安装所需的包...

我发现在Ubuntu上,pip并不总是为它安装的模块设置读取和执行权限。 我的解决方案是始终运行此shell脚本:

sudo chmod -R a+rX /usr/lib/python*/dist-packages/
sudo chmod -R a+rX /usr/local/lib/python*/dist-packages/
sudo chmod a+rX /usr/bin/*
sudo chmod a+rX /usr/local/bin/*

尽管 pyserial 安装了 pip3 和 pip 工具(至少我是这么认为的),但我在对“没有名为 serial 的模块”感到疯狂之后来到这里。

在我的系统 (Tumbleweed) 上,我有 python (2.7.18) 和 python3 (3.8.12),以及 pip 和 pip3 工具。 我的假设是 pip 和 pip3 是不同的,就像 python 和 python3 一样。

然而,事实证明 pip 和 pip3 是相同的,它只安装了 python3 的模块。 我意识到这只是因为 python -m pip install pyserial 返回“没有名为 pip 的模块”(尽管 pip 是独立运行的)。 pip --version 显示它也适用于python3。 真是奇怪的组合!

就我而言,解决方案是通过 zypper/yast 安装 python2-pip。 之后,pip 负责安装 python2 模块(尽管打印了关于自身的弃用警告)并且 python -m pip 现在也按预期工作。

最后,pip install pyserial 给了我编译/上传一些 Arduino esp32 东西所需的 python2 串行模块。 我添加了这些额外的位来涵盖 20 多个关于“没有名为串行的模块”的问题,这些问题在许多情况下可能由于相同的原因而失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM