windows下ipython notebook搭建、安装常见问题及Python模块安装

一、搭建

平时在台式机上linux下编写python,但由于matlab建模需要,而自己的本本是win7系统,不想装双系统和虚拟机,因此了解了一下ipython notebook,顿时感受到了其强大。

ipython比python本身自带的IDLE强大许多,而notebook是web based IPython封装,但是可以展现丰富文本,使得整个工作可以以笔记的形式展示、存储,对于交互编程、学习非常方便。

安装步骤有点小麻烦,依赖稍多。下面按照windows的安装说一下。也可以直接参考官方安装说明。

1、安装Python

这个是必须的,现在python版本最新是python3.3.5,但本人更喜欢python2.7,因为很多源码是基于python2写的。在http://www.python.org/download/下载。按照自己的平台下载对应的版本,然后安装即可。

2、设置环境变量

把F:\bigdata\python\python2.7和F:\bigdata\python\python2.7\Scripts都添加到环境变量中,如

F:>set PATH=%PATH%;F:\bigdata\python\python2.7;F:\bigdata\python\python2.7\Scripts(一次性,即关闭就没有)

完全不销毁:链接http://jingyan.baidu.com/album/d5a880eb6aca7213f047cc6c.html?picindex=1

3、下载安装Setuptools

下载ez_setup.py到某个目录(如:F:\bigdata\python\python2.7\Scripts),下载地址:https://pypi.python.org/pypi/setuptools

安装:进入F:\bigdata\python\python2.7\Scripts,运行:

python ez_setup.py

在这个过程中,系统会连接网络下载所需要的安装包并完成安装,这样就可以使用easy_install了。

PS:也可下载安装pip

下载get-pip.py到某个目录(如:F:\bigdata\python\python2.7\Scripts),下载地址:http://www.pip-installer.org/en/latest/installing.html#install-or-upgrade-setuptools

安装:进入F:\bigdata\python\python2.7\Scripts,运行:

python get-pip.py

在这个过程中,系统会连接网络下载所需要的安装包并完成安装,这样就可以使用easy_install了。


做完前面四步,就可以在Windows下面开始使用python了。

1、下载安装IPthon:

F:>easy_install.exe Ipython

系统就会去网上寻找ipython包,进行下载及安装,并且还把pyreadline也安装了。python2.7.exe被安装在F:\bigdata\python\python2.7\Scripts下面,因为前面添加过环境变量的路径支持,所以可以直接输入:

F:>ipython

2、尝试Notebook,还需要下载一些其他东东

1)下载安装pyzmq,pip对pyzmq支持不太好,装不上。尝试使用easy_install

F:>easy_install.exe pyzmq

2)下载安装jinja2

F:>easy_install.exe jinja2

3)下载安装tornado

F:>easy_install.exe tornado

好了,使用下面命令就可以把Notebook连起来:

F:>ipython notebook

3、尝试科学计算的画图工具matplotlib

因为下载的python没有自带numpy 和 matplotlib

1)下载安装nose

F:>easy_install.exe nose

2)由于easy_install.exe 与 pip都不能安装numpy,所以从这个链接http://www.lfd.uci.edu/~gohlke/pythonlibs/可以得到

numpy-MKL-1.8.2.win32-py2.7.exe

要注意,因为我们使用的是python2.7,所以一点也要选py2.7的numpy。直接安装,它会依照Windows注册表里面登记的pythonInstall来确定安装路径。

3)最后安装matplotlib,但由于easy_install.exe 与 pip都不能安装matplotlib,所以同上链接http://www.lfd.uci.edu/~gohlke/pythonlibs/可得

matplotlib-1.3.1.win32-py2.7.exe

4)同上链接可得

scipy‑0.14.0.win32‑py2.7.exe

好了,这就大功告成了。

远程访问notebook

如果需要远程访问,就稍微麻烦一点:

首先,需要建立一个server的config,通过在命令行键入:

ipython profile create nbserver

然后,修改新建的profile,即ipython_notebook_config.py(命令行会有输出,告诉你生成的文件在哪里),默认的config文件都是被注释掉的,你需要至少修改如下的项:

c = get_config()

# Kernel config
c.IPKernelApp.pylab = 'inline'  # if you want plotting support always

# Notebook config
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:bcd259ccf...your hashed password here'
# It's a good idea to put it on a known, fixed port
c.NotebookApp.port = 9999

但是,你需要注意的是,我们还没有mycert.pem,这个也很简单,使用openssl生成一个就行,如果你手头有linux机器的话就极其简单了:

$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

再接着,需要生成一串哈希后的密钥,随便开一个IPython的shell键入:

In [1]: from IPython.lib import passwd
In [2]: passwd()

设定你的密码即可(现在0.13版还不支持多人的notebook,因此只能单用户使用,只支持一个密码罢了,多用户功能处在开发中)。

好了,现在启动你的public的IPython notebook吧:

ipython notebook --profile=nbserver

然后你就可以在浏览器里远程访问你的IPython notebook了

 

二、安装常见问题

 

ipython notebook安装见http://blog.csdn.net/u012332571/article/details/38563897,完成后。

在ipython notebook中运行一个简单的程序例子:

 

import matplotlib.pyplot as plt  
plt.plot([1,2,3])  
plt.ylabel('point')  
plt.show()  

 

发现出现了下面的错误:

raise ImportError("matplotlib requires dateutil")
ImportError: matplotlib requires dateutil

这个需要dateutil,你可以到这里下载安装。

把dateutil 安装完后又出现如下错误:

 

raise ImportError("matplotlib requires pyparsing")
ImportError: matplotlib requires pyparsing

 

需要 pyparsing  到这里下载安装。

 

ImportError: No module named six

将\python\python2.7\Lib\site-packages\scipy\lib中的six.py six.pyc six.pyo三个文件拷贝到 \python\python2.7\Lib\site-packages目录下即可。

 

 

完成以上步骤,运行上面的例子就可以显示我们的图像,如下所示。

 

在程序安装过程中如果遇到需要安装的一些依赖包,你可以到这里查找(点我),确实是个好资源。

可以根据所画图形的需要 在下面的链接里选择相应的图形 进行修改,绘出自己所需的图像。

example: http://matplotlib.org/examples/index.html,  gallery:http://matplotlib.org/gallery.html

中文乱码解决方法

注意绘图时中文的解决方法, 在.py文件头部加上如下内容:

 

# -*- coding: utf-8 -*-   
from pylab import *  
mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体  
mpl.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题 

我把安装 python matplotlib所需的软件放到百度网盘了,可以到这里这下

绘图脚本.py转为 .exe

 如果为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件。

可以参考这篇博文:http://blog.csdn.net/daniel_ustc/article/details/15501385

 

Python模块安装

1. 单文件模块

直接把文件拷贝到$python_dir/lib

2. 多文件模块,带setup.py

python setup.py install

3. egg文件

1) 下载ez_setup.py,运行python ez_setup

2) easy_install *.egg

虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装。

setup.py文件的使用:

% python setup.py build #编译 

% python setup.py install    #安装 

% python setup.py sdist     #制作分发包 

% python setup.py bdist_wininst #制作windows下的分发包 

% python setup.py bdist_rpm 

setup.py文件的编写 

setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。

简单的例子: 

setup.py文件

 from setuptools import setup, find_packages

 setup(

        name = " mytest " ,

        version = " 0.10 " ,

        description = " My test module " ,

        author = " Robin Hood " ,

        url = " http://www.csdn.net " ,

        license = " LGPL " ,

        packages = find_packages(),

        scripts = [ " scripts/test.py " ],

        )

mytest.py

import sys

 def get():

      return sys.path 

scripts/test.py

import os 

 print os.environ.keys()  

setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。 

OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。

本机测试成功(win32-python25)!

==============================================================

setuptools它可以自动的安装模块,只需要你提供给它一个模块名字就可以,并且自动帮你解决模块的依赖问题。一般情况下用setuptools给安装的模块会自动放到一个后缀是.egg的目录里。

首先,安装setuptools这个东西,先去下载一个脚本: http://peak.telecommunity.com/dist/ez_setup.py 下载完后直接执行它就会帮你把setuptools给装好。

之后,安装模块的使用方法就是使用一个叫easy_install的命令,在Windows里,这个命令在python安装目录下的scripts里面,所以需要把scripts加到环境变量的PATH里,这样用起来就更方便,linux下不需要注意这个问题。

安装软件只需要执行:easy_install 模块名

===================================================

pyinstaller 来建立linux下的python独立执行文件

以下内容假定已安装好Python 2.4/2.5 

一、下载并编译pyinstaller(只需做一次,以后可直接做第二步) 

1.下载pyinstaller,现在的版本是1.3 

(1)wget http://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz 

2.解包进入源码目录 

(1)tar zxv pyinstaller_1.3.tar.gz 

(2)cd pyinstaller-1.3/source/linux 

3.编译源代码 

(1)python Make.py  生成python的 .pyc文件 

如无错误,则出现如下提示(只有一行): 

Now run "make" to build the targets: ../../support/loader/run ../../support/loader/run_d 

(2)make 连接生成linux的 .o 文件 

4.生成编译配置文件 

(1)python Configure.py  生成config.dat配置文件 

二、编译独立运行的python可执行文件 

1.生成spec文件 

python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py 

参数说明: 

--onefile 生成单文件 

--upx          生成压缩的文件(可减小执行文件体积,需先安装upx软件包) 

2.生成最终的可执行文件 

python pyinstaller-1.3/Build.py linuxlaptop.spec 

执行完成后将在当前目录生成可执行的linuxlaptop文件,如有问题欢迎与我交流:linuxlaptop.cn。

========================================================================

用cx_Freeze把python打包成exe可执行文件 

以前从来没有试过把Python打包,昨天试了试,发现打包也是一件挺容易的事情.Python打包有很多种选择.cx_Freeze是一种, py2exe也可以,还有一个pyinstaller.我用的是cx_Freeze,而py2exe因为sf实在太慢连不上.所以没办法,只好先用可以下载的.cx_Freeze的资料比较少,不过不是太痛苦,因为好像cx会比py2exe简便易用,而且好像是跨平台的,不错不错.

    cx_Freeze的用法就一个命令FreezePython.exe,打包也很快捷:

    FreezePython.exe  --install-dir="/your/path/to/install" app.py 

    然后就会把app.py以及其依赖的所有模块,包和库全部归整后放到--install-dir 所指的路径下.

    碰到两个问题,一个是文件编码,一开始总是说找不到gb2312的编码,后面google了一下,发现要这么做:     

在app.py中添加from encodings import gbk 一句,然后就可以了.    

如果用到了gettext,要注意po文件中的

    "Content-Type: text/plain; charset=gbk "

    "Content-Transfer-Encoding: cp936 "     

这两句要这样写,字符集要用gbk,不要用gb2312.

    另一个问题是控制台隐藏:   

默认cx_Freeze打包后都是控制台程序,就算你打包一个wxPython程序,也会有一个黑黑的控制台在后面做背景,要去掉控制台就要这样:

    FreezePython.exe --install-dir="yourinstallpath" --base-binary=Win32GUI.exe app.py 

    加了--bash-binary 后就可以只运行前台的界面了,不过如果程序出错,会弹出一个错误对话框,说找不到traceback模块.

    这就要在app.py文件中加一句:

    import traceback

    把错误反馈以对话框形式弹出.

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页