V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
enchilada2020
V2EX  ›  Python

求指点 Anaconda3 2018.12 版本 众包黄昏

  •  
  •   enchilada2020 · 2019-03-08 20:26:23 +08:00 · 4318 次点击
    这是一个创建于 2096 天前的主题,其中的信息可能已经有所发展或是发生改变。
    情景描述:
    step1. 安装好 Anaconda3 2018.12 一路默认下来 未添加到环境变量 默认为系统 Python (不存在多版本问题 只有这一个)
    step2. 添加了清华源
    step3. conda update conda
    step4. conda update --all

    之后在 prompt/cmd/jupyter 中 import numpy/matplotlib/nltk/sklearn 都没问题

    但是!!在 pycharm 中( Python 解释器用的就是系统解释器 没有新建虚拟环境)就会提示 importerror

    以 numpy 为例,报错信息如下:

    Traceback (most recent call last):
    File "I:/Pyject/tmp/test.py", line 1, in <module>
    import numpy
    File "H:\Software\Anaconda\lib\site-packages\numpy\__init__.py", line 140, in <module>
    from . import _distributor_init
    File "H:\Software\Anaconda\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
    from . import _mklinit
    ImportError: DLL load failed: 找不到指定的模块。

    找了各种各样的方法 也没能解决 后来用了 dependencywalker 跑了一下 lib/site-packages/numpy/_mklinit.cp37-win_amd64.pyd 结果 N 多个 dll 缺失 都带 MS 字样

    但如果真的是 dll 缺失 为什么除了 pycharm 都好用呢?

    折腾了一天之后也没得出结论 无奈安装了 Python37 挨个 pip install 了一遍这些库 在哪都好用

    但是还是不甘心 因为 jupyter 和 pycharm 都需要用到 总不能搞分裂吧。。

    于是装回 Anaconda3 5.2.0 上述四步重来一遍 这回 pycharm 也好用了

    两个版本最显著的差异是 Python 版本不同 前者是 Python37 后者是 Python36

    接着 conda update Python 了一下 把 Python 版本从 3.6.2 升到 3.7.2 (好像是.2 ) 结果……

    问题再次发生了。。。。。

    所以问题如下:

    1. 这个是 Anaconda 的问题,还是 Python 的问题?

    1.1 如果是 Python 的问题,同样是 Python37,为什么 Anaconda 的就不好用,直接装的就好用呢?

    1.2 如果是 Anaconda 的问题,同样是 Anaconda,为什么 Python37 不好用,Python36 就好用呢?

    2. 如果一定要用 Anaconda 2018.12 ,在 pycharm 中出现的 importerror dll load failed 怎么解决?

    菜鸡在这里先谢过各位了 期待您的解惑!
    5 条回复    2019-03-15 11:07:31 +08:00
    lithiumii
        1
    lithiumii  
       2019-03-09 00:30:51 +08:00
    没遇到过这个问题,因为我不用 PyCharm
    但是我电脑上的 py 版本 /环境我早就数不清了,啥不能用就再装一个 Py 或者新环境,反正不缺硬盘
    急着需要做事的话可以这样
    enchilada2020
        2
    enchilada2020  
    OP
       2019-03-09 20:50:27 +08:00
    @lithiumii 多版本之间不会发生冲突的吗。。好像很多人都不推荐多版本共存
    silkriver
        3
    silkriver  
       2019-03-10 17:56:48 +08:00
    也许是 PyCharm 版本问题,另外 PyCharm 中选择解释器有专门的 Conda Environment 类型,不知你是否用了那个
    enchilada2020
        4
    enchilada2020  
    OP
       2019-03-11 16:44:23 +08:00 via Android
    @silkriver Pycharm 是 2018.3.5 社区版 应该都是最新的 解释器的选择用的系统解释器 没用 conda Environment
    Alicewish
        5
    Alicewish  
       2019-03-15 11:07:31 +08:00 via iPhone
    这个问题不了解,但我装 2018.12 之后就各种报错,于是回到 5.3.1 了,对应 Python3.7 且能正常运行。

    Anaconda 历史版本下载:
    https://repo.continuum.io/archive/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1605 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:02 · PVG 01:02 · LAX 09:02 · JFK 12:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.