解决Win7(x64)Anaconda3报错:AttributeError: '_NamespacePath' object has no attribute 'sort'
最近论文需要用到python做数据分析,python语法简单,但是Windows下安装第三方包恶心的要命,statsmodels用pip死活安装不上,网上查了说包相互依赖windows下的pip不能下载全,还有好几个其他的统计包也是如此,整晕了算。
看网上有些python大牛推荐Anaconda,可以解决包的问题,于是卸载本地的python,从官网上下了个Anconda玩玩,结果遇到新问题。
问题如下:
An unexpected error has occurred. Please consider posting the following information to the conda GitHub issue tracker at: https://github.com/conda/conda/issues Current conda install: platform : win-64 conda version : 4.3.21 conda is private : False conda-env version : 4.3.21 conda-build version : not installed python version : 3.6.1.final.0 requests version : 2.14.2 root environment : d:\ProgramData\Anaconda3 (writable) default environment : d:\ProgramData\Anaconda3 envs directories : d:\ProgramData\Anaconda3\envs C:\Users\user\AppData\Local\conda\conda\envs C:\Users\user\.conda\envs package cache : d:\ProgramData\Anaconda3\pkgs C:\Users\user\AppData\Local\conda\conda\pkgs channel URLs : https://repo.continuum.io/pkgs/free/win-64 https://repo.continuum.io/pkgs/free/noarch https://repo.continuum.io/pkgs/r/win-64 https://repo.continuum.io/pkgs/r/noarch https://repo.continuum.io/pkgs/pro/win-64 https://repo.continuum.io/pkgs/pro/noarch https://repo.continuum.io/pkgs/msys2/win-64 https://repo.continuum.io/pkgs/msys2/noarch config file : None netrc file : None offline mode : False user-agent : conda/4.3.21 requests/2.14.2 CPython/3.6.1 Windows/7 Windows/6.1.7601 administrator : True `$ d:\ProgramData\Anaconda3\Scripts\conda-script.py ..checkenv cmd.exe d:\ProgramData\Anaconda3` Traceback (most recent call last): File "d:\ProgramData\Anaconda3\lib\site-packages\conda\cli\main.py", line 167, in main import conda.cli.activate as activate File "d:\ProgramData\Anaconda3\lib\site-packages\conda\cli\activate.py", line 12, in <module> from ..utils import shells File "d:\ProgramData\Anaconda3\lib\site-packages\conda\utils.py", line 13, in <module> from .gateways.disk.read import compute_md5sum File "d:\ProgramData\Anaconda3\lib\site-packages\conda\gateways\disk\read.py", line 22, in <module> from ...models.channel import Channel File "d:\ProgramData\Anaconda3\lib\site-packages\conda\models\channel.py", line 9, in <module> from ..base.context import context File "d:\ProgramData\Anaconda3\lib\site-packages\conda\base\context.py", line 18, in <module> from .._vendor.auxlib.path import expand File "d:\ProgramData\Anaconda3\lib\site-packages\conda\_vendor\auxlib\path.py", line 8, in <module> import pkg_resources File "<frozen importlib._bootstrap>", line 961, in _find_and_load File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 646, in _load_unlocked File "<frozen importlib._bootstrap>", line 616, in _load_backward_compatible File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 2985, in <module> @_call_aside File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 2971, in _call_aside f(*args, **kwargs) File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 3013, in _initialize_master_working_set dist.activate(replace=False) File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 2544, in activate declare_namespace(pkg) File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 2118, in declare_namespace _handle_ns(packageName, path_item) File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 2058, in _handle_ns _rebuild_mod_path(path, packageName, module) File "d:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 2087, in _rebuild_mod_path orig_path.sort(key=position_in_sys_path) AttributeError: '_NamespacePath' object has no attribute 'sort'
经过一番查找,解决方法如下:
问题解决原链接(英文):https://github.com/conda/conda/pull/5496
找到你的Anaconda安装目录中的path.py,详细路径为:D:\ProgramData\Anaconda3\Lib\site-packages\conda\_vendor\auxlib\path.py
把文件path.py中,“except ImportError: ”修改为“except Exception:“
在运行Anaconda Prompt,输入conda,效果图如下:
这里问题还没有彻底解决,在PyCharm这种编译器指向Python的时候,还是会出问题,问题如下:
这时候需要更新Pip,打开Anaconda Prompt,输入命令conda update conda pip,联网更新pip
在打开pycharm,右下角会更新一些python信息
然后还没有完,更新完了跑,还是出问题,问题如下:
最后一气之下,找到D:\ProgramData\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.6.egg,然后删除(不放心的话,剪切到别的地方)
然后运行,好了。。。。
希望对踩坑的朋友有帮助。