首页 文章

如何更改默认的Anaconda python环境

提问于
浏览
113

我已经安装了Anaconda并创建了两个额外的环境:py3k(它拥有Python 3.3)和py34(它拥有Python 3.4) . 除此之外,我还有一个名为“root”的默认环境,Anaconda安装程序默认创建该环境并保存Python 2.7 . 最后一个是默认值,每当我从终端启动'ipython'时它就会给我2.7版本 . 为了使用Python 3.4,我需要发出命令(在shell中)

source activate py34
ipython

它将默认环境更改为Python 3.4 . 这很好用,但是很烦人,因为大多数时候我使用的是Python 3.4,而不是Python 2.7(我为教学目的而持有,这是一个相当长的故事) . 无论如何,我想知道如何将默认环境更改为Python 3.4,请记住我不想从头开始重新安装所有内容 .

7 回答

  • 26

    首先,通过运行确保您拥有最新版本的conda

    conda update conda
    

    然后跑

    conda install python=3.5
    

    这将尝试将根环境中的所有软件包更新为Python 3版本 . 如果不可能(例如,因为某些包不是为Python 3.5构建的),它将给出一条错误消息,指出导致该问题的包 .

    如果您使用pip安装了软件包,则必须重新安装它们 .

  • 70

    在Linux下有一种更简单的方法来通过修改 ~/.bashrc~/.bash_profile 来设置默认环境 . 最后你会发现像

    # added by Anaconda 2.1.0 installer
    export PATH="~/anaconda/bin:$PATH"
    

    替换为

    # set python3 as default
    export PATH="~/anaconda/envs/python3/bin:$PATH"
    

    这就是它的全部内容 .

  • 0

    Overview
    出于兼容性原因,有些人有多个具有不同版本python的Anaconda环境 . 在这种情况下,您应该有一个设置默认环境的脚本 . 使用此方法,您可以保留您在环境中使用的python版本 .

    以下假设environment_name是您的环境的名称

    Mac / Linux:
    编辑bash配置文件,以便最后一行是“source activate environment_name” . 在Mac OSX中,这是〜/ .bash_profile,在其他环境中,这可能是〜/ .bashrc

    例:
    这是我在Mac OSX上的表现

    • 打开终端并输入:

    nano~ / .bash_profile

    • 转到文件末尾并输入以下内容,其中“p3.5”是我的环境:

    源激活p3.5

    • 退出文件 . 启动一个新的终端窗口 .

    • 键入以下内容以查看活动的环境

    conda info -e

    结果显示我默认使用我的p3.5环境 .

    For Windows:
    使用“activate environment_name”创建命令文件(.cmd),并按照这些说明在打开命令提示符时执行该命令

    • 创建批处理文件命令,例如"my_conda.cmd",将其放在Application Data文件夹中 .

    • 将其配置为在打开cmd时自动启动 . 此设置在注册表中:
      key:HKCU \ SOFTWARE \ Microsoft \ Command Processor
      值:AutoRun
      类型:REG_EXPAND_SZ
      数据:"%AppData%\my_conda.cmd"

    从这个答案:https://superuser.com/a/302553/143794

  • 0

    对于Windows Anaconda附带Anaconda Prompt,这是cmd的快捷方式,可以使用运行conda命令而无需在PATH变量中添加anaconda . 找到它的位置,复制并重命名副本(比如myenv_prompt) . 右键单击myenv_prompt并在上下文菜单中选择属性 .

    enter image description here

    属性窗口的目标形式应该已经填充了文本,如 %windir%\system32\cmd.exe "/K" C:\Users\xxx\AppData\Local\Continuum\Miniconda3\Scripts\activate.bat C:\Users\xxx\AppData\Local\Continuum\Miniconda3\ 此命令有三个部分1)启动... \ cmd.exe 2)运行... \ acitvate.bat环境3)... \ Miniconda3 \

    将第3部分更改为您想要作为默认值的环境路径(比如myenv),即填写Target表单,例如 %windir%\system32\cmd.exe "/K" C:\Users\xxx\AppData\Local\Continuum\Miniconda3\Scripts\activate.bat C:\Users\xxx\AppData\Local\Continuum\Miniconda3\envs\myenv

    现在myenv_prompt将作为启动cmd的快捷方式,myenv作为python的默认环境 . 您可以将此快捷方式保留在开始菜单中或固定在任务栏中 .

    此方法的一个优点是您可以创建一些快捷方式,每个快捷方式都具有不同的环境作为默认环境 . 您也可以通过在“属性”窗口的表单中填写“开始”来设置默认文件夹

    希望这可以帮助

    PS:不需要找到Anaconda Prompt,可以通过改变任何快捷方式的目标来完成 . 但是您需要知道cmd.exe和activate.bat的路径

  • 4

    我对此处提出的任何答案都不满意,因为在我的平台上激活环境需要几秒钟(无论出于何种原因)

    我修改了我的路径变量,以便我想要的环境优先于实际默认值 .

    在我的情况下,我使用以下命令来实现这一点对于环境“py35”:

    setx PATH "%userprofile%\Anaconda3\envs\py35\;%PATH%"
    setx PATH "%userprofile%\Anaconda3\envs\py35\Scripts;%PATH%"
    

    要找出存储环境的位置,请将其激活并输入 where python . 我不确定这种方法是否有任何缺点 . 因为它也改变了conda可执行文件的默认路径 . 如果是这种情况,请发表评论 .

  • 39

    Change permanent

    conda install python={version}
    

    Change Temporarily

    View your environments

    在终端窗口或Anconda提示符上运行 conda info --envs

    If It doesn't show environment that you want to install

    运行 conda create -n py36 python=3.6 anaconda for python 3.6更改版本作为您的首选

    Activating an environment (use Anaconda prompt)

    运行 activate envnme envnme你可以通过这个命令 conda info --envs 找到一个例子当你运行 conda info --envs 它显示

    base * C:\Users\DulangaHeshan\Anaconda3 py36 C:\Users\DulangaHeshan\Anaconda3\envs\py36

    然后运行 activate py36

    检查运行 python --version

    在Windows中,最好在激活另一个环境之前停用一个环境 . https://conda.io/docs/user-guide/tasks/manage-python.html

  • 0

    正确的答案(截至2018年12月)是......你做不到 . 升级 conda install python=3.6 可能有效,但如果您有必要但无法卸载的软件包,则可能无法升级 .

    Anaconda使用名为 base 的默认环境,您无法创建具有相同名称的新环境(例如python 3.6) . 这是故意的 . 如果你想让你的基础Anaconda成为python 3.6,那么正确的方法就是安装Anaconda for python 3.6 . 作为软件包管理器,Anaconda的目标是将不同的环境封装起来,因此为什么必须对它们进行激活,以及为什么不能随意安静地切换基础软件包,因为这可能会导致 生产环境 系统出现许多问题 .

相关问题