没有名为“pkg_resources”的模块
Posted
技术标签:
【中文标题】没有名为“pkg_resources”的模块【英文标题】:No module named 'pkg_resources' 【发布时间】:2017-09-26 16:02:21 【问题描述】:我尝试使用pip install tensorflow --upgrade
升级 tensorflow。
旧版setuptools
卸载过程中出现错误:
PermissionError: [Errno 13] Permission denied: '/Users/<myName>/anaconda/lib/python3.5/site-packages/easy-install.pth'
和
FileNotFoundError: [Errno 2] No such file or directory: '/Users/<myName>/anaconda/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg'
现在,当使用pip
时,我得到了No module named 'pkg_resources'
的错误。
我在线程No module named pkg_resources中尝试了解决方案:
使用
curl https://bootstrap.pypa.io/ez_setup.py | python
再次产生以下错误(使用sudo curl
时也是如此):
error: [Errno 13] Permission denied: '/Users/<myName>/anaconda/lib/python3.5/site-packages/easy-install.pth'
按照建议尝试重新安装setuptools
:
pip install --upgrade setuptools
导致相同的No module named 'pkg_resources'
错误消息。
我使用的是 MacOS 10.12.4
【问题讨论】:
/Users/<myName>/anaconda/lib/python3.5/
和/Users/<myName>/anaconda/lib/python3.5/site-å/
的文件权限是什么?
我在.../python3.5/site-packages
文件夹中有drwx
的权限,但不知何故,easy-install.pth
是该文件夹中我刚刚获得rw
权限的唯一文件。
尝试执行chmod +x easy-install.pth
获取执行权限。 .pth
文件缺少d
权限是正常的,因为它是文件而不是目录。
我认为您过去可能已经运行了一些sudo
命令,它也混合了文件的所有者。尝试将所有者从sudo
更改为您自己的用户帐户,并检查错误是否解决。
解决了。
【参考方案1】:
首先:当你通过sudo
执行任何命令时,你应该始终小心——这可能真的会搞砸你的文件权限。看起来,这正是这里发生的事情。您的用户帐户必须接管easy-install.pth
的权限。尝试执行
sudo chown myuser easy-install.pth
chmod +x easy-install.pth
然后继续
curl https://bootstrap.pypa.io/ez_setup.py | python
命令来解决您的No module named 'pkg_resources'
问题。现在你的pip
应该可以再次工作了。
然后尝试使用pip install tensorflow --upgrade
再次升级tensorflow
并检查这是否解决了您的问题。
【讨论】:
以上是关于没有名为“pkg_resources”的模块的主要内容,如果未能解决你的问题,请参考以下文章
Python:ImportError:没有名为 pkg_resources 的模块 [重复]
AttributeError:模块 'pkg_resources' 没有属性 'safe_name' oauthlib 安装