话题要从我使用 Pelican
生成静态站 html
文件说起。使用 Pelican
大概是在 2014 年,那时 Pelican
还是基于 Python 2.x,虽然后期 Pelican
也更新到基于 Python 3.x,但由于个人太懒,所以截至目前还在使用旧版的 Pelican
(一直未更新^.^)。
但随着时间推移 Python 3.x 已成为主流,例如 You-Get。所以目前我有同时安装 Python 2.7 与 Python 3.5,使用前按需求先切换环境变量。如下图:
但是每次使用前都需要切换环境变量也算是比较麻烦了。上网查询知道可以使用批处理临时切换环境变量,正好我在 Windows 下使用 Pelican
也采用批处理,所以决定尝试一下。
打开 cmder 测试,依次输入以下命令:
@echo %PATH% set my_path=D:\Python27\App;D:\Python27\App\Scripts; set path=%my_path% @echo %PATH%
将得到以下结果。
第一条命令是显示当前系统变量下的 path
变量;
第二条命令是将 Python 2.7 的工作路径添加到中间路径变量中;
第三条命令是将中间路径变量赋值给 系统路径变量
;
第四条命令是再次显示 系统路径变量值
。
可见系统环境变量经过上述步骤已被更改。不过当再次打开系统属性环境变量选项会发现环境变量与图 1 保持一致,未发生变动,说明以上命令确实只在当前命令窗口有效,这样正好满足使用需求。需要注意的是上述命令无法直接将待添加的工作路径直接赋值给 系统路径变量
而需要使用中间路径变量进行过渡。
在原 bat 文件内添加第二条、第三条命令如下:
set my_path=D:\Python27\App;D:\Python27\App\Scripts; set path=%my_path% cd /d %~dp0 pelican -D -s pelicanconf.py content -o nero pause
嗯,测试可行。