2016-03-03 56 views
0

我处于非常糟糕的境地,因为我没有完全理解它们的效果就跑了几条命令。没有任何与python相关的工作没有sudo

我无法使用pip,无法使用pip安装任何内容而无需为其添加sudo前缀。我可以用sudo安装它。 这里有一些错误的痕迹

LAP-044:Downloads pratik$ pip install requests 
Traceback (most recent call last): 
    File "/usr/local/bin/pip", line 5, in <module> 
    from pkg_resources import load_entry_point 
ImportError: No module named pkg_resources 

这是因为setuptools的的。所以我试图重新安装设置工具。我收到这个错误。

LAP-044:Downloads pratik$ curl https://bootstrap.pypa.io/ez_setup.py -o - | python 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 12059 100 12059 0  0 12823  0 --:--:-- --:--:-- --:--:-- 12815 
Traceback (most recent call last): 
    File "<stdin>", line 415, in <module> 
    File "<stdin>", line 411, in main 
    File "<stdin>", line 327, in download_setuptools 
    File "<stdin>", line 347, in _resolve_version 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen 
    return opener.open(url, data, timeout) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 431, in open 
    response = self._open(req, data) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 449, in _open 
    '_open', req) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1240, in https_open 
    context=self._context) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1197, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 

如果我用python3运行它,同样的setuptools安装是成功的。任何人都可以告诉我什么是错误的,以及如何解决它?

+0

你们是不是要在虚拟环境中运行'pip'?如果不是,它会尝试安装到机器范围的位置,为此您通常需要root权限。 – Chris

+0

你也可能想检查'哪个pip'和'哪个python'的输出。 –

+0

@WayneWerner:我得到/ usr/local/bin/python 和/Library/Frameworks/Python.framework/Versions/3.5/bin/pip,其中有python和哪些pip。 –

回答

0

我会建议你创建一个虚拟环境,你可以在不使用sudo的情况下安装所有东西。这是使用Python最清洁的方式。

显然,如果你的Python可执行程序在需要root权限的目录中,则需要通过sudo

一旦它的创建,你应该将其激活:

$ source myvirtualenv/bin/activate 

然后你就可以使用安装软件包点:

$ (myvirtualenv) pip install [somepackage] 

根据您在virtualenv中使用的Python版本,您可能需要安装pip。但它通常是与Python 2.7这是默认的Python版本

virtualenv docs