簡體   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