我需要一个初学者指南来设置Python开发的Windows环境

9 投票
10 回答
1709 浏览
提问于 2025-04-15 12:04

我现在只用 .NET 开发,想试试 Python。为此,我需要搭建一个 Python 开发环境。如果有相关的指南就太好了。我想我会做一些网页开发,所以需要一个网页服务器,可能还需要一个数据库。同时,我也希望能找到一些流行的 ORM(对象关系映射)、MVC 框架和测试库。

我最看重的一点是,我想搞明白这些东西是怎么工作的,并且希望它们能尽量独立。这很重要,因为我不想把现在正常工作的 .NET 环境搞得一团糟,不想引入第三方的网页和数据库服务器。如果可以的话,我很乐意先用 SQLite。

如果我对这个顺利上手,我可能还想搭建一个自动化构建和持续集成的服务器(可能是在虚拟机上,使用 Ubuntu)。如果有相关建议就太好了。

如果我喜欢 Python,我的最终目标是拥有和 .NET 类似的工具,并且真正理解整个构建和部署的过程。起初,我只想要一个尽量独立且容易卸载的简单开发环境,如果我不喜欢的话。我不想用 IronPython,因为我想体验使用一般工具和框架开发 Python 解决方案的完整过程。

10 个回答

3

ActiveState 网站上安装预先配置好的 ActivePython 版本。这个版本有很多功能,其中包括 PythonWin IDE(仅限 Windows),它让你可以轻松地与 Python 进行互动式探索。

推荐的参考书是 Dive Into Python,在类似的讨论中被提到过很多次。

3

你需要安装 Python 2.4、2.5、2.6 和 3.0,然后把你最常用的版本添加到你的路径中(也就是把 c:\Pythonxx\ 和 c:\Pythonxx\Scripts 加进去)。

对于每个 Python 2.x 版本,安装 easy_install;下载 ez_setup.py,然后在命令行中运行:

c:\Python2x\python.exe x:\path\to\ez_setup.py
c:\Python2x\Scripts\easy_install virtualenv

每次开始一个新项目时,创建一个新的虚拟环境,这样可以把你项目需要的特定包隔离开来:

mkdir <project name>
cd <project name>
c:\Python2x\Scripts\virtualenv --no-site-packages .\v

这会在 .v\Scripts 和 .\v\Lib 中创建一个 Python 及其库的副本。你在这个环境中安装的所有第三方包都会放在 .\v\Lib\site-packages 里。使用 -no-site-packages 选项可以确保你无法访问全局的包,这样你就可以放心,所有的依赖都在 .\v\Lib\site-packages 里。

要激活这个虚拟环境:

.\v\Scripts\activate

关于框架,有很多选择。Django 很棒,文档也很齐全,但你可能先看看 Pylons,因为它在 Unicode、打包、部署和测试方面的文档更好,而且对 WSGI 的支持也更好。

至于开发环境,Python 自带的 IDLE 对于学习来说已经足够了,不过你可能想试试 Eclipse+PyDev、Komodo 或 Wingware Python IDE。Netbean 6.5 也有对 Python 的测试支持,看起来很有前景(可以参考 top 5 python IDE)。

关于 web 服务器,你不需要额外安装;Python 自带一个,所有的 web 框架也都有自己的服务器。你可能想安装 MySql 或 PostgreSQL;通常在开发时使用和生产环境相同的数据库会更好。

另外,当你学会 Python 后,可以看看 Agile Python Development 基础专家级 Python 编程

5

设置一个Python环境其实并不难,我的.NET工作从来没有受到影响。基本上,你只需要安装Python——我建议用2.6版本,而不是3.0,因为后者还没有被广泛接受——然后把它添加到你的PATH里,这样就可以开始使用这个语言了。如果你在Windows上开发,我不建议使用Ubuntu虚拟机作为开发环境;在Windows上开发就很好,我在这方面没有遇到什么大问题。我在Windows和Linux之间切换也毫无障碍。

如果你已经有一个熟悉的编辑器,并且它支持Python的基本功能,那就继续用它吧。如果没有,我发现Geany是一个不错的、轻便易用的编辑器,支持Python很好。不过我自己用的是Emacs,因为我熟悉它;其他人则喜欢SCITENotePad++,或者其他很多选择。我建议不要使用复杂的IDE来开发Python,因为它们不太符合这个语言的特点,而且我也不推荐使用Python自带的IDLE,因为用起来非常麻烦。

关于库和框架的建议:

  • Django是标准的网页框架,但它比较庞大,而且你得按照Django的方式来做;我更喜欢CherryPy,这个框架也在积极维护,轻便、自由度高,并且有一个不错的、可以轻松替换的web服务器。
  • Django自带一个ORM(对象关系映射),还不错;不过Python还有一个独立的ORM,叫SQL Alchemy,更好用。
  • 至于测试库,我觉得pyunit是个明显的选择。

祝你好运,欢迎来到一个非常有趣的语言世界!

编辑总结:我之前推荐过Karrigell,但现在不再推荐了:自从3.0版本发布以来,它一直存在问题,社区也不够大,解决不了这些问题。如果你喜欢一个轻便、简单的框架,不妨试试CherryPy,我已经把之前的推荐改成了这个。

撰写回答