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

时间:2019-11-25 16:02:13

标签: python python-3.x python-2.7 pip 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

我认为自从删除Python2.7以来就发生了此错误

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

谢谢!

4 个答案:

答案 0 :(得分:8)

pyinstaller 3.6与python 3.7。*上的setuptools 45.1.0不兼容,应降级为45.0.0

pip install setuptools==45.0.0

还可以通过将hidden_​​imports'pkg_resources.py2_warn'传递/添加到pyinstaller规范中进行修复

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

答案 1 :(得分:5)

我从here找到了解决方案。

  1. 对于我来说,我从以下目录中打开 hook-pkg_resources.py 文件:

    ~/.local/lib/python3.6/site-packages/PyInstaller/hooks/
    
  2. 之后,我添加了以下代码行:

    hiddenimports.append('pkg_resources.py2_warn')
    

    在这两行代码之间:

    hiddenimports = collect_submodules('pkg_resources._vendor')
    

    excludedimports = ['__main__']
    
  3. 此后,我再次运行PyInstaller,结果可执行文件的工作方式就像魅力。

答案 2 :(得分:2)

在搜索此错误代码时,首先在Google上迷失了答案,所以为了将来参考,请留下指向此问题的链接以解决我的问题:

https://stackoverflow.com/a/59979390/10565375

tldr:

pyinstaller --hidden-import=pkg_resources.py2_warn example.py

答案 3 :(得分:0)

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

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

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