[英]ImportError: No module named _markerlib when trying to install via 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.