VirtualEnv用来创建隔离的Python环境的开源工具。
Python使用的人多了背后有个庞大的开源社区支持,但是有个缺点就是每个包的质量都是参差不齐, 如果我们想测试安装每个包,最后会堆积成一个庞大而复杂的第三方依赖。VirtualEnv就是为了解决这个问题而生的,可以用于在一台机器上创建多个独立的python运行环境
安装
可以使用easy_install和pip 安装,pip是一个安装python库很方便的东西,类似yum,pip search pip install,如果没wget的话,就用curl -O 另外也可以考虑用easy_install代替pip
安装easy_install
1 | $ wget http://python-distribute.org/distribute_setup.py |
安装pip
1 | sudo easy_install pip |
安装VirtualEnv
1 | 方法一:sudo easy_install virtualenv |
环境搭建
创建
viratualProject 就是我们创建的虚拟环境的目录了,该目录在安装就默认安装了本机相同的python版本了,并且还会有pip和easy_install工具,这时候你就有一个赶紧的python虚拟环境了
activate&deactivate
虚拟环境需要激活,就是所谓的启动,在安装目录下bin中有个activate就是用作启动使用的,有activate当然就有deactivate,关闭虚拟环境
激活之后在看python所指向的路劲与未激活之前的区别
1 | ➜ VirtualProject which python |
使用
OK, 到这里就可以在虚拟环境中安装你需要的第三方开源库了。
Scrapy是一个Python的知名高层次的屏幕抓取和web抓取框架,我经常会使用到他.
安装
1 | pip install scrapy |
在安装的过程中我遇到了错误
1 | build/temp.macosx-10.11-intel-2.7/_openssl.c:423:10: fatal error: 'openssl/aes.h' file not found |
这个错误的解决办法
- install openssl
1 | brew install openssl |
2.添加下面环境变量到你的~/.bashrc(如果是zsh用户是~/.zshrc)文件中,然后source一下,可以通过echo $ARCHFLAGS检查是否添加成功
1 | export ARCHFLAGS="-arch x86_64" |
安装成功后,虚拟环境bin中就多了scrapy命令执行工具。
1 | (scrapies)➜ scrapies cd bin |
新建scrapy项目,和在全局新建scrapy项目不同,需要使用虚拟环境中的scrapy指向的目录来启动一个新项目,
1 | (scrapies)➜ scrapies bin/scrapy startproject pic |
如果你全局本地有一个scrapy直接按照官网命令创建scrapy爬虫会报如下的错误,如果没有就不会报这个错误
1 | scrapies)➜ scrapies scrapy startproject pic |