python3 pip无法安装任何软件包,也无法更新pip ubuntu

时间:2018-08-08 19:35:51

标签: python python-3.x ubuntu pip

我尝试过

sudo apt-get install python3
sudo apt-get install idle
sudo apt-get install python3-pip

然后我尝试使用pip安装模块,我尝试了一些无效的方法。

pip install send2trash
Collecting send2trash
  Downloading https://files.pythonhosted.org/packages/13/2e/ea40de0304bb1dc4eb309de90aeec39871b9b7c4bd30f1a3cdcb3496f5c0/Send2Trash-1.5.0.tar.gz
Building wheels for collected packages: send2trash
  Running setup.py bdist_wheel for send2trash ... done
  Stored in directory: /home/joe/.cache/pip/wheels/f1/ca/e5/bdd5eae705cf50a483257e6ff9dd34911dda3570f0e1340dda
Successfully built send2trash
Installing collected packages: send2trash
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/Send2Trash-1.5.0.dist-info'
Consider using the `--user` option or check the permissions.

You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

所以我尝试升级pip ...

sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

显然,我的计算机上有一些旧的python 2.7。我没有用。如果解决方案涉及卸载该程序,那我可以。 预先感谢。

在我阅读一些说明时,也尝试了sudo pip3。这就是我现在得到的...

sudo pip3 install beautifulSoup
[sudo] password for joe: 
The directory '/home/joe/.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/joe/.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 beautifulSoup
  Downloading https://files.pythonhosted.org/packages/1e/ee/295988deca1a5a7accd783d0dfe14524867e31abb05b6c0eeceee49c759d/BeautifulSoup-3.2.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-p5xsk9e4/beautifulSoup/setup.py", line 22
        print "Unit tests have failed!"
                                      ^
    SyntaxError: Missing parentheses in call to 'print'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-p5xsk9e4/beautifulSoup/
You are using pip version 8.1.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

消息说/home/joe/.cache/pip/http不属于当前用户。事实并非如此。我的电脑对我说谎。乔,这条路一直归我所有,

在这里使用sudo pip ...

sudo pip install beautifulSoup
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

我跑了...

sudo python3 -m pip install --upgrade pip
The directory '/home/joe/.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/joe/.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 pip
  Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 553kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

这似乎有效。但是后来我跑了sudo pip3和sudo pip ...

sudo pip3 install beautifulSoup
Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 7, in <module>
    from pip._internal import main
ImportError: No module named 'pip._internal'

sudo pip install beautifulSoup
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ImportError: No module named 'pip._internal'

2 个答案:

答案 0 :(得分:0)

好吧,首先让我们修复您的Pip安装:

sudo apt-get install --reinstall python3-pip

现在,您应该可以运行pip3 --version来检查Pip是否已安装并正常工作。如果没有,请在尝试任何其他操作之前让我知道。

要注意的重点:

  • 在virtualenv外部运行Pip时,您需要使用pip3,否则您的系统将尝试使用Python 2的Pip。
  • 如果您需要以root用户身份运行Pip,最好使用sudo -H而不是仅使用sudo –这将解决有关The directory ... is not owned by the current user的警告。

如果您要安装Pip 18,我建议在virtualenv中安装–升级系统Pip充满了可能出错的事情。

例如:

# Create a new virtualenv:
python3 -m venv my_virtual_environment
# "Activate" it (you need to do this once per shell)
source my_virtual_environment/bin/activate
# Now you can use `pip`, `python` etc. and the changes will be kept in the `my_virtual_environment` directory
pip install -U pip setuptools wheel

此外,要安装BeautifulSoup,您需要使用beautifulsoup4软件包– beautifulSoup很旧,不适用于Python 3:

pip install beautifulsoup4

答案 1 :(得分:-1)

您收到错误

  

由于环境错误而无法安装软件包:[Errno 13]   没有权限:   '/usr/local/lib/python2.7/dist-packages/Send2Trash-1.5.0.dist-info'

因为您是在普通用户下运行pip安装。

您可以使用sudo pip install 'packagename'运行同一命令。这将在安装时为您提供root特权,或者您可以签出在virtualenv中运行此特权。您可以在here上阅读有关virtualenv的更多信息。