使用批处理文件激活Anaconda中的python 3 environemnt

Y. *_*ang 5 cmd anaconda

最近在win7上为我的python项目安装了Anaconda(1.9)

安装完成后,我在这个页面中构建了一个带有指令的python 3支持环境.我的下一个任务是使用内置批处理文件自动激活我的python环境.

我在开始菜单中找到的[Anaconda命令提示符]快捷方式中使用了该命令.它运行一个名为[ anaconda.bat ] 的批处理文件

在观察批处理文件后,我意识到它似乎能够获取一个输入参数,该参数应该是我想要激活的环境.所以我复制了快捷方式并将其修改为

C:\Windows\System32\cmd.exe /k "C:\Anaconda\Scripts\anaconda.bat py3k"
Run Code Online (Sandbox Code Playgroud)

然后我双击新的快捷方式,它打开了一个新的命令窗口但是...指定的环境没有激活!

@echo off

rem +===========================================================================
rem | Initialisation
rem +===========================================================================
verify bogus-argument 2>nul
setlocal enableextensions enabledelayedexpansion
if ERRORLEVEL 1 (
    echo error: unable to enable command extensions
    goto :eof
)

for %%i in ("%~dp0..\envs") do (
    set ANACONDA_ENVS=%%~fi
)

if not "%1" == "" (
    if not exist "%ANACONDA_ENVS%\%1\python.exe" (
        echo No environment named "%1" exists in %ANACONDA_ENVS%
        goto :eof
    )
    set ANACONDA_ENV_NAME=%1
    set ANACONDA=%ANACONDA_ENVS%\%1
    title Anaconda (%ANACONDA_ENV_NAME%^)
) else (
    set ANACONDA_ENV_NAME=
    for %%i in ("%~dp0..") do (
        set ANACONDA=%%~fi
    )
    title Anaconda
)

set ANACONDA_SCRIPTS=%ANACONDA%\Scripts

for %%i in ("python.exe") do (
    for %%j in ("%ANACONDA%\python.exe") do (
        if not "%%~f$PATH:i" == "%%~f$PATH:j" (
            set ANACONDA_OLD_PATH="%PATH%"
            set PATH=%ANACONDA%;%ANACONDA_SCRIPTS%;%PATH%;
            echo Added %ANACONDA% and %ANACONDA_SCRIPTS% to PATH.
        )
    )
)

if not "%ANACONDA_ENV_NAME%" == "" (
    echo Activating environment %ANACONDA_ENV_NAME%...
    set PROMPT=[%ANACONDA_ENV_NAME%] $P$G
)
Run Code Online (Sandbox Code Playgroud)

我对蝙蝠语言的经验很少,但我想这可能与这条线有关

setlocal enableextensions enabledelayedexpansion
Run Code Online (Sandbox Code Playgroud)

我试图删除那一行,但仍留在带有消息的ERRORLEVEL 1表达式中.

error: unable to enable command extensions
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我应该做什么来使这个bat文件正常工作?

BKa*_*Kay 5

我认为您不需要批处理文件。假设 Anaconda 和 CMD 在您的路径上(它们应该是),您可以尝试将其作为替代方案(这就是我所做的):

cmd "/c activate py3k && ipython --pylab"
Run Code Online (Sandbox Code Playgroud)