如果你同时负责多个 Python 项目,或者想要轻松打包某个项目及其关联的库文件,再
或者你担心已安装的库之间可能有冲突,那么你可以安装一个 Python 虚拟环境来分而
治之。
当一个 Python 库不用虚拟环境安装的时候,你实际上是全局安装它。这通常需要有管
理员权限,或者以 root 身份安装,这个库文件对设备上的每个用户和每个项目都是存
在的。好在创建虚拟环境非常简单:
$ virtualenv scrapingEnv
这样就创建了一个叫作 scrapingEnv 的新环境,你需要先激活它再使用:
$ cd scrapingEnv/
$ source bin/activate
激活环境之后,你会发现环境名称出现在命令行提示符前面,提醒你当前处于虚拟环
境中。后面你安装的任何库和执行的任何程序都是在这个环境下运行。
在新建的 scrapingEnv 环境里,可以安装并使用 BeautifulSoup:
(scrapingEnv)ryan$ pip install beautifulsoup4
(scrapingEnv)ryan$ python
> from bs4 import BeautifulSoup
>
当不再使用虚拟环境中的库时,可以通过释放命令来退出环境:
(scrapingEnv)ryan$ deactivate
ryan$ python
> from bs4 import BeautifulSoup
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'bs4'
将项目关联的所有库单独放在一个虚拟环境里,还可以轻松打包整个环境发生给其他
人。只要他们的 Python 版本和你的相同,你打包的代码就可以直接通过虚拟环境运
行,不需要再安装任何库。