Python 错误:没有名为 pkg_resources 的模块

Sol*_*rre 6 python pip python-2.7 python-3.x pyside2

我想在 MacOS 上使用 Python3.7

我已经是 Python 2.7 版本了。

我在 上创建了一个别名.bash_profilealias python="/usr/local/bin/python3.7"然后source ~/.bash_profile

所以我删除了 Python2.7 /usr/local/lib/

现在,当我尝试执行时pip install PySide2,出现错误:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 6, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
Run Code Online (Sandbox Code Playgroud)

我认为自从我删除 Python2.7 后就发生了这个错误

有人可以帮助我解决我的错误吗?

谢谢 !

oet*_*tzi 8

pyinstaller 3.6 与 python 3.7.* 上的 setuptools 45.1.0 不兼容,应该降级到 45.0.0

pip install setuptools==45.0.0
Run Code Online (Sandbox Code Playgroud)

也可以通过将 hidden_​​imports 'pkg_resources.py2_warn' 传递/添加到 pyinstaller 规范来修复

在此处跟踪问题和解决方案:https : //github.com/pypa/setuptools/issues/1963

  • setuptools 版本 **45.0.0** 在使用 PyInstaller 时会导致一些问题。在这种情况下使用 Sersion **44.0.0** 会更好 (2认同)

小智 5

我从这里找到了解决方案。

  1. 就我而言,我从以下目录打开hook-pkg_resources.py文件:

    ~/.local/lib/python3.6/site-packages/PyInstaller/hooks/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 之后我添加了这行代码:

    hiddenimports.append('pkg_resources.py2_warn')
    
    Run Code Online (Sandbox Code Playgroud)

    在这两行代码之间:

    hiddenimports = collect_submodules('pkg_resources._vendor')
    
    Run Code Online (Sandbox Code Playgroud)

    excludedimports = ['__main__']
    
    Run Code Online (Sandbox Code Playgroud)
  3. 之后,我再次运行 PyInstaller,结果可执行文件就像魅力一样。


Bri*_*ton 2

这是由于 setuptools 软件包损坏造成的,您只需重新安装它即可。

对于大多数操作系统:pip install setuptools

Linux:apt-get install python-setuptoolsyum install python-setuptools

  • 感谢您的回答,但是当我执行“pip install setuptools”时,我遇到了同样的错误 (5认同)