用杨绛的话说,你现在就是想的太多做的太少。 用Nike的话说,Just DO it
python能做linux脚本语言不代表就不适合windows开发。除了极少数三方,python基本可以保证优秀的跨平台,甚至在windows下还可以做部分win32的开发。限制自己入门python在linux的平台上纯粹浪费自己的时间,对于新手还要熟悉linux,无形增加成本
就说一点。一定要装 Linux。Python 是一种 Unix 的脚本语言,不要试图在 Windows 上学,你会浪费很多时间。
其它的可以去翻翻这个 topic: Python 入门 - 热门问答
===========
关于匿名用户和 @张康 的回答,我想解释一下。
就像《黑客与画家》里提到的,Python 是 Unix 的脚本语言,语言不是存在于真空之中,而是依附于一个系统。而 Python 就依附于 Unix。Python standard library 是对 POSIX 的封装。如果你读过 APUE,熟悉标准 C 和 POSIX 规范,你会觉得 Python library 的一切都是那么自然,很多时候,一个 POSIX 的 API 对应一个 Python 的 API,名字都没有改。你想知道一个 API 有怎样的行为,看一下 man 手册就可以了(Python 文档可不一定会写清楚,它假设你知道这个 API 只是对系统 API 的简单封装)。一切都是文件。管道、fd、进程、信号,你不需要太多的思考为什么是这么回事。因为在 Unix 世界里它们本来就是这么回事。而 Python 在 Windows 上的存在是一种别扭的移植。去查微软的文档?你只会查到 CreateFileEx 这样的东西。即便是 @张康 提到的学习文件读取,你也不得不在打开文件的时候设置为 "b" 模式以免被 Windows 默认的 text 模式搞坏了换行符。(初学者怎么能搞得懂这一点?)你也不会在试图用 pip 安装 mysql 库的时候发现那么难编译过去。在 Windows 上恐怕只适合学 Python 的基本公理,即语法和数据结构。
如果你学 Python 不只是打算玩玩,反正你将来写的程序肯定会在 Unix 上面跑。你会发现比起 Windows 这是一个更适合 hacker 生活的世界。学习一门语言并不应只学习这门语言本身,也要学习这门语言存在的世界,包括整个工具链。只有这样你才能真正理解它的设计思想。你会习惯用 logging、getopt/argparse、readline、shebang、守护进程等等这些标准的做法。而在 Windows 上恐怕你永远只会把你写的那个 py 文件当作一个 exe 看待。为什么不现在就直接跳过 Windows 呢?
============
问题限定在 PC,为什么不装 FreeBSD?因为 Linux 发行版比 FreeBSD 更适合新手使用。
============
既然匿名用户禁止我继续评论他的答案来回避我的问题,那我就写在这里吧。你指出了 Windows 上 shell 如此难用,并且你自己也不用,为何还要鼓励其他人用呢?我的观点是在 Unix 环境下学习 Python,事实上你不需要精通 Unix,只需要入门一些基本命令就可以开始了。在学 Python 的过程中可以同时学习 POSIX API 和一些文件、fd、管道之类的概念,何乐而不为?把这些丢了岂不太可惜了?