【问题标题】:ImportError: No module named pip after running chmodImportError:运行 chmod 后没有名为 pip 的模块
【发布时间】:2015-07-03 19:38:56
【问题描述】:

我已经安装了 pip 并成功安装了几个软件包。但是在运行以下命令后。我收到一条错误消息,提示没有名为 pip 的模块:

sudo chmod 666 /Library/Python/2.7/site-packages/
pip install --upgrade git+http://git@github.com/sympy/sympy.git
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip import main
ImportError: No module named pip

【问题讨论】:

标签: python macos


【解决方案1】:

呃……你为什么要运行那个 chmod?

这里的问题是 666 对目录不利。权限位,特别是可执行位,对目录有不同的含义:为了进入目录,您需要设置可执行位。例如,参见this question 或this one。尝试运行cd /Library/Python/2.7/site-packages/,你会发现问题。

因此,当您试图让每个人都可以读写该目录时,您实际上是为了让任何人都无法访问它。

运行chmod +X /Library/Python/2.7/site-packages/ 将解决此问题:+X 权限仅在目录(以及已经具有 +x 的文件)上设置可执行位。

但是,除此之外,您真的希望 /Library 中的某些内容对所有人都可以读写吗?并且您是否考虑过(从我假设为 OS X 的目录结构)使用 Apple 提供的 Python 以外的其他东西,这通常在包安装等方面存在问题?我个人使用 Homebrew 版本。

【讨论】:

  • 我运行 chmod +X /Library/Python/2.7/site-packages/ 但出现同样的错误
  • 我试图在不使用 sudo 的情况下安装 python 包
  • 我强烈建议您使用 Python 的自制版本,它允许并且专为此而设计。你是只运行 chmod 还是 chmod -R?
  • 不,你没有。 virtualenv 将安装一个单独的隔离工作 pip 环境。
  • Err...这是怎么发生的?那不是 666 或 777。试试chmod +rwX /Library/Python/2.7/site-packages/
【解决方案2】:
sudo apt-get install --reinstall python-pkg-resources

【讨论】:

  • 不要一字不差地回答!见How to Answer!
  • 显然你没有阅读我的链接。您的答案缺乏解释和信息,根本不符合良好答案的要求。你想知道为什么吗?请参阅我的第一条评论中的链接。采取tour!阅读How to Ask 和How to Answer。这是我的建议...
猜你喜欢
  • 2013-08-24
  • 1970-01-01
  • 1970-01-01
  • 2019-07-30
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 1970-01-01
相关资源
最近更新 更多