之前运行别人的代码,报错缺少各种包,于是直接pip install安装,后来发现,报下面两个错误,很是纠结,网上查阅资料都不能正确的解决问题。
File "/usr/local/lib/python3.6/dist-packages/pkg_resources.py", line 1479, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
AttributeError: module 'socketio' has no attribute 'Server'
经过思考与尝试,对第一个问题的最直接解决办法可以时进入提示中的报错文件pkg_resources.py,定位到如下部分:
# Avoid try/except due to potential problems with delayed import mechanisms.
if sys.version_info >= (3, 3) and sys.implementation.name == "cpython":
import importlib._bootstrap as importlib_bootstrap
else:
importlib_bootstrap = None
将其改为如下(注释掉导入mportlib._bootstrap的部分)即可。
# Avoid try/except due to potential problems with delayed import mechanisms.
if sys.version_info >= (3, 3) and sys.implementation.name == "cpython":
#import importlib._bootstrap as importlib_bootstrap
importlib_bootstrap = None
else:
importlib_bootstrap = None
后来进一步调试发现,是因为安装socketio的问题,正确的安装socketio的命令如下(不是直接安装pip3 install socketio):
pip3 install python-socketio
如此正确安装后,上面的报错消失
(针对具体问题要具体分析,不可一味照着网上的答案来!!!)