python相关工具
来源:互联网 发布:java项目原代码 编辑:程序博客网 时间:2024/05/15 12:26
1. 目前在 Windows 下除了官方提供的安装版外,还有:
ActivePython ,这个与官方版本的区别在于提供了额外的库和文档,并且自动设置了PATH环境变量(后文会详细提到)
Python(x,y),这个是我一直用并且推荐给别人用的版本。从名字就能看出来这个发行版附带了科学计算方面的很多常用库,另外还有大量常用库比如用于桌面软件界面制作的PyQt, 还有文档处理,exe文件生成等常用库。另外的还有大量的工具如IDE,制图制表工具,加强的互动shell之类。很多下文提到的软件在此发行版中都有附带。其他方面,Python(x, y)还附带了手工整理出的所有库的离线文档,每个小版本升级都提供单独的补丁。总的来说是很用心维护的一个发行版,十分建议安装这个版本
2. pip 管理第三方库
Python 的一大优势就是有极为大量的第三方库,包括各个方面的引用。然而安装第三方库对没有掌握方法的同学来说会变得很让人烦恼。事实上 Python 第三方库的安装和管理有着一个一个唯一正确的做法,这个做法要求你什么其他的都不用干,只要输入你要安装库的名字就可以了。
setuptools 也包在 Python(x, y) 当中。如果没有的话,要首先先安装 setuptools(python3后更名为distribute) ,这个其实就是一个安装第三方库的软件。选择对应版本的 Windows Installer 进行下载和安装后,打开一个命令行窗口,输入:
easy_install pip如果提示找不到程序,那么说明你当前没有设定好环境变量。安装官方提供的 Python 安装包的话肯定会有这个问题,而且很可能暂时不会修正,这就是牛逼程序员的倔强。具体做法是 右键我的电脑 – 属性 – 高级系统设置 – 环境变量 – 将
C:\python2*\Scripts
加入到 PATH 那一组当中。这样做的效果就是在任何地方的命令行下输入命令,那么系统会额外查找我们设定的那个目录中的内容。之后再执行上面的命令,装好了以后我们就要弃用 setuptools,转投 pip。要安装任何一个库,你只要找到他的名字(不需要版本号),用 pip 安装即可。譬如安装 django,那么输入如下命令即可:pip install django其实之前
easy_install
跟pip
效用是类似的,都是在官方的第三方库索引 PyPI 查询信息并进行下载和安装。pip 的优势在于支持更高级的功能,譬如虚拟环境,安装失败不会残留破损的库,更重要的是 pip 还可以进行卸载。输入下面命令就能卸载一个之前由 pip 进行安装的库。继续上面的例子,现在要卸载 django:pip uninstall django这是 setuptools 所缺失的功能。需要额外说明的是大部分纯 Python 的库都能用这个方法在 Windows 下装上,但是需要编译 C 语言模块的一般都不太可能成功。遇到这种情况,在相应的库德站点上找找有没有对应的 Windows 安装包。
3. 用 virtualenv 构建虚拟 Python 环境
如果你使用过 Python 做过 Web 开发,或者你有需求在本机上安装多个版本的 Python 来测试你的代码能否跑再 2.5, 2.6, 2.7 各个版本上,或者你的不同项目依赖于一个第三方库的不同版本;再或者,有时候你就是想要一个没有之前安装过的乱七八糟的库,一个干净的 Python 环境。这种时候 virtualenv 就能帮上你的忙。它能利用安装好的 Python ,在同一台机器上建立一个或多个互不相干的虚拟 Python 环境,且能随时切换。如果你看到这里还不觉得这个有什么用处,那不妨看下去留下点印象,等哪天你有这类需求的时候能找到这个简单实用的工具。
和其他第三方库一样,我们可以通过 pip 轻松安装:
pip install virtualenv安装完成后你可以开启一个命令行窗口,输入
virtualenv
看看能不能找到这个脚本。如果有问题的话,请按照上面介绍过的步骤检查下是否设置好了 PATH。之后我们可以在一个方便的地方建立一个虚拟环境。建立C:\envs\
文件夹,命令行下 cd 到该文件夹中,输入:virtualenv --no-site-packages --python=C:\Python26\python.exe envtest之后应该会看到一个叫
envtest
的文件夹。这就是一个新建立的虚拟环境(virtual enviroment)。我们不妨先激活它来看看应该怎么用。命令行下执行envtest\Scripts\activate.bat
,这时是你会发现命令行变成这个样子:(envtest) c:\>提示符前面的
(envtest)
就是该环境已被激活的标志。这样你就可以在这个虚拟环境下进行工作了。执行pip freeze
,你会发现… 你会发现什么都没有啊。执行pip help
,你可以看到pip freeze
是输出当前 Python 环境下已经安装的所有第三方库。因为我们创建此环境时开启了选项--no-site-packages
,意思就是在创建此虚拟环境中不从系统 Python 中把已经安装了的库也安装到这里来,所以这里是一个干净的新 Python 环境。你可以在这里调用pip
或者easy_install
来安装各种你需要的库到这个环境中来,而不会影响到你系统中 Python 的情况,所以说它是一个虚拟的 Python 环境。我们再回头看下
envtest
目录的结构,其下面的Scripts
目录中有python.exe
pip.exe
这些程序,在虚拟环境已激活的情况下,你调用python
或者pip
都是调用的此目录中的程序。此时系统中的python.exe
被 virtualenv 通过设置环境变量隐藏了起来。而Lib
目录下就是存放各种新安装的库。到这里你应该已经对 virtualenv 基本操作已经了解了,下面讲些使用上的注意事项:
- 调用
activate.bat
开启虚拟环境,你也可以用同目录下的deactivate.bat
来退出该虚拟环境。 - 建立虚拟环境时的参数
--python=C:\Python26\python.exe
是用来指定你想使用 Python 程序位置,所以你可以建立多个虚拟环境来指向多个 Python 版本。另外你要注意的是如果你在系统上安装了多个版本的 Python, 你最先安装的一个版本会被当做主要版本,你在命令行下打python
时,调用的就是最先安装的一个版本。其实这个是按照 PATH 中设定的路径位置来确定的,你最好把你需要主要使用的版本相关路径放在 PATH 环境变量中最前面。比如我的机器上,就是把C:\Python26
和C:\Python26\Scripts
作为 PATH 最前面两个。这样应该就能让保证你主要版本的正常使用。 - 当你在一个虚拟环境下工作时,假如你想在当前环境下来执行一个 Python 程序,这时你在命令行下必须执行
python foo.py
,这样 foo.py 才会在你当前已经激活的 virtualenv 下执行。作为比较如果你直接执行foo.py
那么它仍然时在系统环境下执行的。
另外,Linux 下可以使用 virtualenvwrapper 来进行方便的管理和切换各个环境,可惜的是这东西在 Windows 下用不了。但幸好有一个简单的脚本 envdotpy 来帮助你使用。把 env.py
放到 PATH 上的目录内,譬如 C:\Python26\Scripts
下。之后先打开里面的 DEFAULT_DIR_PATH
变量,把它改成你集中存放 virtualenv 的地方,在我们上面的例子中就可以把这行改为:
DEFAULT_DIR_PATH = "C:\\envs\\"
之后你就不需要专门 cd 到这个目录,而可以在任意路径上通过 env.py
来进行激活,切换,退出 virtualenv 了。例如执行: env.py envtest
就能激活 envtest
。执行 env.py -q
就能退出任意一个 virtualenv。
4. 避免,和解决编码产生的问题
虽说确定 String
的编码格式是程序员的责任,但有时候你真的不知道有些字串符到底是什么编码的。这里有一个神奇 chardet 能够帮助你。以下是摘自其页面上的例子,很好了说明了它的作用:读入任意一串字符,猜测其编码格式,并且给出猜测的确信度。
>>> import urllib>>> urlread = lambda url: urllib.urlopen(url).read()>>> import chardet>>> chardet.detect(urlread("http://google.cn/")){'encoding': 'GB2312', 'confidence': 0.99}>>> chardet.detect(urlread("http://yahoo.co.jp/")){'encoding': 'EUC-JP', 'confidence': 0.99}>>> chardet.detect(urlread("http://amazon.co.jp/")){'encoding': 'SHIFT_JIS', 'confidence': 1}>>> chardet.detect(urlread("http://pravda.ru/")){'encoding': 'windows-1251', 'confidence': 0.9355}
如果 confidence 非常低的话或者 chardet 直接报错,多半是字串经过多次错误编码解码,要从别的地方找办法解决问题。
5. Vim Python开发 相关资源
事实上我现在自己是在用 Vim 写 Python,感觉也蛮不错。以下是相关资源。
- UltimateVimPythonSetup 比较新的一个专门针对 Python 的 Vim 配置文件。
- Vim as Python IDE 只要搜 Python 和 Vim 就一定会找到这一篇文章。
- vimcolorschemetest 所有的Vim 配色方案都在集结在这里。
- Python 相关 Vim 插件
pythoncomplete.vim 按上面的介绍配置一下,在自动输入的时候按Ctrl-X, Ctrl-O就有很强力的自动补全了。
python.vim 加强语法的高亮。
pyflakes.vim 很棒的语法检查,分析你的语法看避免低级错误。注意这个在Vim7.2下才有用, 如果是7.1则一点效果都没有…
- python相关工具
- sae-python相关工具
- python相关的工具
- Python NLP相关工具
- python开发相关工具
- python相关的开发及使用工具
- Python 3.5.2 及相关工具安装
- [DL]python使用相关工具说明
- python操作hiveserver2相关工具集
- Python后端相关技术/工具栈
- python笔记008--python的相关模块和开发工具
- Python开发环境的搭建和相关的开发工具
- python相关工具介绍及安装(重点setuptools)
- python相关
- python相关
- python相关
- Python 相关
- Python相关
- C语言宏定义##连接符和#符的使用
- 《jquery实战》之元素选择器整理
- 使用js简单实现登录功能
- ssssdddddddddddddddddd
- gggggggggggg
- python相关工具
- C语言宏定义##连接符和#符的使用2
- WebConfig详解
- Android基于SDK,NDK开发视频通话软件探索
- 中国未来30年军力发展应以击垮日本为目标
- 积木谜团
- Web应用界面设计规范
- win7 无法修改hosts文件
- mysql调优 分区