最近在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文件正常工作?
我认为您不需要批处理文件。假设 Anaconda 和 CMD 在您的路径上(它们应该是),您可以尝试将其作为替代方案(这就是我所做的):
cmd "/c activate py3k && ipython --pylab"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4946 次 |
| 最近记录: |