【问题标题】:Anaconda environment in PycharmPycharm 中的 Anaconda 环境
【发布时间】:2018-03-10 19:35:11
【问题描述】:

我正在尝试使用 Anaconda 环境作为 Pycharm 中的解释器。

它确实有效,但速度极慢——即使运行一行“hello world”也需要 5 秒。

我猜原因是 Pycharm 尝试在每次执行脚本之前激活环境,而 Anaconda 中的激活通常很慢(至少根据我的经验)。

使用 Anaconda root env 时执行速度还可以。或者在使用 virtualenv 时。任何想法/解决方法如何加快速度?

【问题讨论】:

    标签: python pycharm anaconda environment conda


    【解决方案1】:

    您不应该在每次运行时都激活环境。 您需要为项目定义解释器。解析该环境中已安装的软件包需要几秒钟,稍后会很快。

    https://www.jetbrains.com/help/pycharm/configuring-python-interpreter.html#project-interpreter

    我想知道您的环境中的软件包是否有什么特别之处。五秒是不正常的。

    您是否尝试过从 pycharm 创建新环境?

    https://www.jetbrains.com/help/pycharm/conda-support-creating-conda-environment.html

    然后再添加您真正需要的项目包?

    【讨论】:

    • 我可能错了,但激活是 Pycharm 所做的——至少这可以解释为什么在使用 conda 环境时执行 python 需要这么长时间。见这里youtrack.jetbrains.com/issue/PY-17739
    • 设置项目解释器时激活环境并触发检查。事实上,通过选择正确的项目解释器,您将得到正确的警告。关于ticket,好像是特殊包使用activate.d你在用吗?
    • 特殊包 - 不,至少我不知道。是的,我完全有可能理解进程启动延迟是导致 env 激活是错误的。但是我的回答中提到的conda-wrappers 解决了这个特定问题,并且似乎有所帮助。
    • 更多信息 - 在 pycharm 中执行脚本时观察到的延迟似乎等于激活 conda env 所需的时间。根据 JetBrains 手册正确设置了解释器。知道运行/调试启动延迟的其他原因是什么吗?
    【解决方案2】:

    看来我不是第一个遇到这种情况的人。一个叫 Guilherme Melo 的帅哥创建了包装器,你可以用它来替代 Pycharm 中的 python 解释器。这些包装器比处理环境激活要快得多。

    听从他的建议here

    基本上你只需要在你的 conda 环境中安装一个名为 conda-wrappers 的包,然后替换 Pycharm 中的解释器。

    conda create -n test python
    source activate test
    conda install -c conda-forge conda-wrappers
    

    也适用于 Windows。所以你应该选择<env>/Scripts/wrappers/conda/python.bat,而不是<env>/python.exe

    也就是说,我认为这是一个非常慢的 conda 激活脚本的解决方法 - 首先处理它会很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 2019-08-02
      • 2019-06-18
      • 2017-09-30
      • 2019-05-11
      相关资源
      最近更新 更多