代码之家  ›  专栏  ›  技术社区  ›  user32882

在Pycharm中建立无基conda环境

  •  0
  • user32882  · 技术社区  · 6 年前

    我以为我在Pycharm建立了我的康达环境就像他们一样 docs 要求:

    • 设置>项目解释器>添加
    • 选择Conda环境
    • 检查现有环境
    • 浏览解释器路径(在本例中 C:\ProgramData\Anaconda2\envs\wps_env36\python.exe )
    • 单击“确定”

    不过,我注意到在PyCharm的“Terminal”选项卡中没有自动调用环境。所以我跟着 this post 这似乎充分地为终端设置了它(尽管在我看来,当我选择上面的环境时,应该自动考虑到这一点)。

    现在让人困惑的是:我试图在pycharm的3个不同的地方运行以下内容。它们是1)常规脚本,2)Python控制台,3)终端(by do) python 强迫它进入python解释器模式`:

    import os
    print(os.environ['CONDA_PREFIX'])
    

    对于情况1)和2),我得到以下错误:

    Traceback (most recent call last):
      File "<input>", line 1, in <module>
      File "C:\ProgramData\Anaconda2\envs\wps_env36\lib\os.py", line 669, in __getitem__
        raise KeyError(key) from None
    KeyError: 'CONDA_PREFIX'
    

    对于情况3),它运行良好,并输出conda环境的路径:

    C:\ProgramData\Anaconda2\envs\wps_env36

    这向我表明,虽然 python.exe 用于运行解释器,所需的环境变量不会自动传输。我需要这些变量来做额外的事情,我想上面解释了为什么我必须将以下环境变量添加到构建配置中:

    GDAL_DATA PROJ_LIB

    在常规anaconda prompt/pycharm终端中,已经定义了这些脚本(因为它们源自 C:\ProgramData\Anaconda2\etc\conda\activate.d ,但它们没有在我的主要anacondapython解释器中定义。

    如何确保 整个的 conda环境在Pycharm中被定义为我的主要解释器。我说的是完整的环境变量和任何其他我不知道的恶作剧?文件只说明了如何将conda设置为您的解释器,这在我的情况下是不够的。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Community M-A    4 年前

    希望你能在过去的五个月里解决问题,但万一有人被困住了。。。

    This answer 说明如何获取 终端 通过将activate命令传递到命令行终端启动时:

    转到文件->设置->工具->终端。

    将Shell路径中的值替换为命令行“/K” C: \path\到\Anaconda3\脚本\激活.bat您的\环境\名称。

    Pycharm terminal config

    我找到的唯一可靠的方法 慰问 正确的工作是从激活的环境中启动PyCharm。从windows命令提示符:

    activate my-env-name && pycharm64.exe & 
    #the trailing '&' causes pycharm to run in the background rather than freezing the terminal
    

    或者从git bash:

    source activate my-env-name && pycharm64.exe &
    

    在哪里? my-env-name 是您的conda环境的名称。

    请注意,如果安装了32位版本,则需要交换 pycharm64.exe 对于 pycharm.exe

    你可以通过创建一个编辑.sh“项目中的文件:

    #!/bin/sh
    source activate my-env-name && pycharm64.exe &
    

    然后在你想运行项目的时候运行脚本 cd my-project && bash edit.sh