virtualenv用来创建隔离的Python环境,使用它我们可以创建一个单独的环境用来运行IPython的最新版本。
virtualenv的中文说明
首先在命令行中输入pip install virtualenv安装virtualenv。然后到希望创建虚拟环境的目录下输入:virtualenv ipython-notebook。这样会创建一个名为ipython-notebook的目录,并且其下有三个子目录:
- Scripts: 包括Python.exe等可执行文件和各种批处理程序。
- Lib: 和Python安装目录下的Lib含义相同,这里用来存放各种扩展库。
- Include: 各种头文件。
在命令行中进入Scripts目录,并输入activate,这样会进入虚拟环境,在命令行提示符之前会显示:(ipython-notebook) 。然后输入以下命令安装IPython和tornado。
pip install tornado
要运行IPython的notebook还需要安装pyzmq,但是这个库需要编译,为了省去麻烦,可以从下面的页面下载安装程序(pyzmq-x.x.x.win32-py2.7.exe):
下载pyzmq的安装程序
使用解压程序解压下载的exe文件,将其中PLATLIB中的zmq目录和pyzmq-2.2.0-py2.7.egg-info文件复制到ipython-notebook/Lib/site-packages下。
最后在命令行下输入ipython notebook即可启动IPython并打开notebook的网页。
IPython的配置目录缺省会被设置到环境变量HOMEPATH所指定的位置。为了能将虚拟环境复制到U盘上,在任何电脑上运行,我们需要制作一个批处理启动文件。在ipython-notebook下创建一个名为HOME的目录,和一个名为notebook.bat的批处理文件,批处理文件的内容如下:
set PYTHON_PATH=Scripts
pushd .
cd %PYTHON_PATH%
set SCRIPTS=%CD%
set PATH=%CD%;%PATH%
popd
pushd .
cd HOME
set HOME=%CD%
popd
cd HOME
python %SCRIPTS%\ipython-script.py notebook --pylab=inline
这个批处理文件将Scripts目录添加进PATH环境变量,并且设置环境变量HOME为新创建的HOME目录。并在HOME目录下执行IPython,这样所有创建的notebook文件都会保存在HOME目录下。此后只需要执行此批处理文件即可启动IPython的notebook。
到目前为止IPython已经可以在虚拟环境中正常运行。为了让我们创建的虚拟环境能在没有安装Python的计算机上正常运行,我们还需要把一些文件复制到虚拟环境的目录下:
- 将c:\python27\Lib下除了site-packages的所有目录和文件都复制到ipython-notebook\Lib下。
- 将c:\python27\DLLs目录复制到ipython-notebook下。
- 将c:\Windows\System32\python27.dll复制到ipython-notebook\Scripts下。
- 将c:\python27\Lib\site-packages下需要的扩展库复制到ipython-notebook\Lib\site-packages下,例如numpy、scipy、matplotlib、pandas等。在复制这些扩展库时,可能还需要复制一些依赖的扩展库。
为了测试虚拟环境是否能单独运行,可以暂时将c:\python27改名,然后运行notebook.bat,并根据错误提示复制相应的文件。下面是我制作好的便携环境,解压到无空格英数字路径下,并运行ipython-notebook\notebook.bat即可。
包括NumPy, SciPy, matplotlib, pandas的IPython便携环境