通过设置powershell别名,来让不同版本python运行。
如题,今天要说的就是这个。以往在windows中不同版本python可以通过设置环境变量重命名python文件来达到不同版本的执行。现在我们可以用powershell的别名设置和自动加载脚本功能来实现不同python版本的执行。
首先,我们需要先安装好不同版本的python(路径不能一样),安装方法我不多说。
安装好后可以不设置环境变量,最好把环境变量删除,这样更能体现出效果,tab补全的时候选项也更加的少和快。
打开powershell,需要用管理员权限(右击windows图标或者快捷键win+x+A就可以打开)设置别名可以用set-alias命令如下:
set-alias python2 "F:\Python27\python.exe"
完成后执行python2命令查看效果:
可以看出已经生效了,但是powershell有个特点,你关闭当前窗口后当前设置别名就清除了,再次打开又要设置一次,非常麻烦。所以,这次就用powershell的自动加载脚本功能来自动设置。
powershell的脚本存放位置有2个地方,一个是$PSHOME这个是所有用户配置位置,$PROFILE是当前配置文件存放的地方,可以echo变量来查看:
知道基本位置,我们可以来直接编辑了。执行:
notepad $PSHOME\profile.ps1 \\创建profile.ps1
具体的路径请根据你自己的来写, 需要注意的是写路径的时候最好加上双""号,如果不加双引号,带空格的路径powershell会在空格处就结束了,切记! 我的是如下内容:
set-alias python2 "F:\Python27\python.exe"
set-alias pythonw2 "F:\Python27\pythonw.exe"
set-alias pip2 "F:\Python27\Scripts\pip.exe"
set-alias python3 "E:\Program Files\Python\Python35\Python.exe"
set-alias pythonw3 "E:\Program Files\Python\Python35\Pythonw.exe"
set-alias pip3 "E:\Program Files\Python\Python35\Scripts\pip.exe"
set-alias sublime "E:\Program Files\Sublime Text 3\sublime_text.exe"
完成后直接保存,关闭powershell。
再次打开powershell有些人可能会报如下错误:
这是因为windows关闭了powersehll的自动加载配置文件功能,只需要打开就行了:
Get-ExecutionPolicy -list \\获取状态
可以看到都是Undefined,这种状态无法加载配置文件,我们需要把CurrentUser的ExecutionPolicy设置成为RemoteSigned就行了。CurrentUser就是当前用户。
设置方法如下:
Set-ExecutionPolicy RemoteSigned CurrentUser
输入y,回车配置就成功了。关闭powershell,在打开没有报错就说明正常了,再次执行所做的别名。或者使用:
Get-Alias python2
来查看别名,执行所需别名的效果:
这个功能大家各取所需,反正我只是折腾一下,哈哈~~