xattr: ImportError: No module named pkg_resources

xattr: ImportError: No module named pkg_resources

我试图在 macOS Catalina 10.15.2 上 运行 xattr 并且发生错误:

Traceback (most recent call last):
  File "/usr/bin/xattr", line 8, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

所以我尝试了@cwc给出的解决方案并安装了最新版本的setuptools

pip install -U setuptools

Requirement already up-to-date: setuptools in ./opt/anaconda3/envs/general/lib/python3.7/site-packages (45.1.0)

我还使用 pip3

安装了 setuptools
pip3 install -U setuptools

Requirement already up-to-date: setuptools in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (45.1.0)

此外,我在 Python 3.6.103.7.4[= 的不同 conda 环境中尝试了上述方法30=],但问题并没有解决。关于这个问题有什么想法吗?

xattr 包含在 Catalina 中,使用系统安装的 Python 2.7。 (如下图head命令所示。)所以你需要确保版本设置正确。

$ head /usr/bin/xattr
#!/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

确保python使用的是系统默认版本:

$ which python
/usr/bin/python

然后,运行下面的命令

$ python -m ensurepip --default-pip
$ python -m pip install --upgrade pip setuptools wheel
$ python -m pip install --upgrade xattr==0.6.4
$ /usr/bin/xattr

以这种方式使用 pip 意味着模块是 运行 直接来自 site-packages,并且不会破坏您系统上的任何其他 pip(即来自 Python 3.7)