最近在win7上为我的python项目安装了Anaconda(1.9)
安装完成后,我使用this page中的说明构建了一个python 3支持环境。我的下一个任务是使用内置批处理文件自动激活我的python环境。
我在开始菜单中找到的[Anaconda命令提示符]快捷方式中使用了该命令。它运行名为[ anaconda.bat ]
的批处理文件在观察批处理文件后,我意识到它似乎能够获取一个应该是我想激活的环境的输入参数。所以我复制了快捷方式并将其修改为
C:\Windows\System32\cmd.exe /k "C:\Anaconda\Scripts\anaconda.bat py3k"
然后我双击新的快捷方式,它打开了一个新的命令窗口但是......指定的环境没有激活!
@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
)
我对蝙蝠语言的经验很少,但我想这可能与这行有关
setlocal enableextensions enabledelayedexpansion
我试图删除该行,但仍然将ERRORLEVEL 1表达式与消息一起捕获。
error: unable to enable command extensions
任何人都可以建议我应该做些什么来使这个bat文件正常工作?
答案 0 :(得分:4)
我认为您不需要批处理文件。假设Anaconda和CMD在你的道路上(他们应该是这样),你可以尝试这个作为替代方案(这是我做的):
cmd "/c activate py3k && ipython --pylab"