繁体   English   中英

在Mac上安装pip和sudo

[英]pip install and sudo on mac

我想重新安装virtualenv。 我成功地做到了:

pip uninstall virtualenv

然后重新安装我尝试:

pip install virtualenv

导致错误的错误: error: /lib/python2.7/site-packages/virtualenv.py: Permission denied

所以我尝试了:

sudo pip install virtualenv

导致错误:

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

Q1:为什么须藤会导致这样的问题? 我读到此错误是由于没有正确安装setuptools引起的。 但是为什么只使用sudo命令呢? 这会导致python在其他地方寻找其资源吗?

有关我的设置的一些详细信息:

我在MacOS 10.9.4上。

我不确定为什么,但是我似乎在两个位置设置了python:

  1. 在/ usr / local / lib目录/
    • /usr/local/lib/python2.7/
    • /usr/local/lib/python3.3/
  2. / lib目录
    • /lib/python2.7/
    • /lib/python3.3/

Q2:为什么两个位置? 据我所知,pip和pip3在第二个位置安装了东西。 也许我有太多版本的python在运行?

这是从交互式python控制台打印的sys.path:

['',
 '/lib/python2.7/site-packages/setuptools-5.4.1-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Sphinx-1.2.2-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/docutils-0.11-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Pygments-1.6-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MarkupSafe-0.23-py2.7-macosx-10.9-x86_64.egg',
 '/usr/local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/Sphinx-1.2.2-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/docutils-0.11-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/Pygments-1.6-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/MarkupSafe-0.23-py2.7-macosx-10.9-x86_64.egg',
 '/lib/python2.7/site-packages',
 '/lib/python2.3/site-packages',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/Users/david/Library/Python/2.7/lib/python/site-packages',
 '/Library/Python/2.7/site-packages',
 '/usr/local/lib/python2.7/site-packages',
 '/lib/python2.3/site-packages']

虽然我不确定我是否确切地理解了最初问题的根源(不知道问题的答案),但确实通过卸载/取消与Homebrew的Python链接来解决此问题,然后按照教程进行了设置。 我得到的主要课程是:

  • Mac随附已安装的python版本。 这就是为什么/lib有python安装的原因。 我还用Homebrew安装了python,它在/usr/local/lib/创建了第二个安装。 过了一会儿,我不小心自己在使用/安装软件包来跟上我的进度。
  • virtualenv是一种将版本和依赖项需求本地化和隔离到各个项目的简便方法。 我推迟使用它是因为我认为它可能很复杂,但是事实并非如此,它可能会为我省去麻烦。

暂无
暂无

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

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