晓波博客

争做优秀原创个人博客。

通过设置powershell别名,来让不同版本python运行。

如题,今天要说的就是这个。以往在windows中不同版本python可以通过设置环境变量重命名python文件来达到不同版本的执行。现在我们可以用powershell的别名设置和自动加载脚本功能来实现不同python版本的执行。

首先,我们需要先安装好不同版本的python(路径不能一样),安装方法我不多说。

安装好后可以不设置环境变量,最好把环境变量删除,这样更能体现出效果,tab补全的时候选项也更加的少和快。

打开powershell,需要用管理员权限(右击windows图标或者快捷键win+x+A就可以打开)设置别名可以用set-alias命令如下:

set-alias  python2  "F:\Python27\python.exe"

完成后执行python2命令查看效果:
set-alias.png
可以看出已经生效了,但是powershell有个特点,你关闭当前窗口后当前设置别名就清除了,再次打开又要设置一次,非常麻烦。所以,这次就用powershell的自动加载脚本功能来自动设置。

powershell的脚本存放位置有2个地方,一个是$PSHOME这个是所有用户配置位置,$PROFILE是当前配置文件存放的地方,可以echo变量来查看:
echopath.png
知道基本位置,我们可以来直接编辑了。执行:

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有些人可能会报如下错误:
powershellloadingerror.png
这是因为windows关闭了powersehll的自动加载配置文件功能,只需要打开就行了:

Get-ExecutionPolicy -list  \\获取状态

Get-ExecutionPolicy.png
可以看到都是Undefined,这种状态无法加载配置文件,我们需要把CurrentUser的ExecutionPolicy设置成为RemoteSigned就行了。CurrentUser就是当前用户。

设置方法如下:

Set-ExecutionPolicy RemoteSigned CurrentUser

Set-ExecutionPolicy.png
输入y,回车配置就成功了。关闭powershell,在打开没有报错就说明正常了,再次执行所做的别名。或者使用:

 Get-Alias python2

来查看别名,执行所需别名的效果:
testalias.png

这个功能大家各取所需,反正我只是折腾一下,哈哈~~


本文由 xiaobo 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

添加新评论