在windwos上折腾python

题记:生命的乐趣在于折腾!

今天在廖雪峰的官方网站学习python,教程传送门.

因为我在windows上使用msys模拟了linux命令行x.于是我想令python在msys里面正常使用.于是我开始了我的折腾之路.

让msys找到python的方法

一开始我的电脑里面只有py2, 所以我直接把py2的目录放到了PATH变量里面.

通过环境变量PATH来访问python

这样msys就可以找到了,但是这样是有问题的.问题是什么呢?

两个版本冲突

我一开始是安装的py2, 但是廖雪峰教程里面用的是py3,于是我不得不安装两个版本的python..于是问题来了.

两个版本的python的可执行文件都是python.exe…我擦..怎么搞?
使用#!/usr/bin/env python指定解释器到底会用哪个版本的python? 还是随机选择? 不要这么坑好不好?

于是我把环境变量PATH里面的路径去掉了…于是msys找不到python了..

于是我机智的用了两条命令

1
2
ln -s /d/python27/python.exe /usr/bin/python
ln -s /d/python34/python.exe /usr/bin/python

哈哈,这样不就区分开来了嘛!下面是我的操作过程.

让msys区分两个版本的py

这样两个版本的python就完美的被区分开来了.

而且,而且,这样子,还可以直接在msys的bash里面通过文件名执行py代码哦,只要把脚本解释语句写好了!

例如这样!

使用不用版本的py解释py脚本

验证解释的正确性,写了另外两个脚本..

验证脚本解释语句的正确性

使用pip

众所周知python的pip是一个很好的包管理工具啊, 使用python必不可少啊.

但是我的msys并不知道pip是什么鬼啊…因为安装的时候python的安装包不知道我用的msys啊, 不会往msys的环境变量里面添加pip命令啊.没办法,我只好手动折腾咯.

看了看python的官方文档, 调用python的模块的命令格式是这样的

1
2
3
4
#py2
python -m '模块名'
#py3
python3 -m '模块名'

因为windows的python安装包自动给安装了pip模块,所以是可以直接使用的.

好吧,直接给pip设置别名就可以了

1
2
alias pip='python -m pip'
alias pip3='python3 -m pip'

没错就是这么简单,把这两行添加到家目录下面的.bashrc文件里面作为永久别名就可以了.

然而还有是有问题

例如这个

pip安装模块的时缺少编译器py2

pip安装模块的时缺少编译器py3

使用pip安装一些模块竟然还要使用巨硬的编译器vc…没办法,只能到巨硬官网去下载一个补丁咯,附上传送门,点击即可下载. 这个是py2的解决方案.

py3用的是VC2010的编译器,因此还是到官网去下载一个VC2010的免费编译器咯,64位传送门, 32位传送门点击即可下载哦.

当然,如果懒得安装巨硬的编译器,那就去这里下载对应的模块文件,然后直接安装就可以了.

到此,基本上linux可以用的python功能在msys都能用了,虽然pip还有很多问题根本无法解决,碰到不能解决的问题,那就只好用python自带的IDE去折腾咯,或者直接上linux.