Python和科学计算认证群组  - 讨论区

标题:关于py的打包问题!

2011年03月28日 星期一 15:48

这两天我尝试了pyinstaller,cx_freeze等工具,在打包我的一个程序中,

一个是cannot import module factorial,

另一个cannot import module linalg。

请问大家有知道什么软件在打包有NUMPY,SCIPY的脚本能成功运行的么?

2011年03月28日 星期一 18:55

建议别打包了~,试过很多,导入的包多了,很难打包好。

 

还是python装载U盘或者移动硬盘上,只能这样了

2011年03月28日 星期一 19:32

但是我要发布呀!不打包怎么发布呢?

2011年03月28日 星期一 20:02

可以试试bbfreeze。

2011年03月28日 星期一 20:24

我刚才试了一下,可以正常打包NumPy和SciPy。

安装方法如下:

http://pypi.python.org/pypi/bbfreeze#downloads

下载bbfreeze-0.97.2

然后运行easy_install bbfreeze.xxx.egg 安装。

然后运行easy_install pefile 安装它需要的库。

假设你的程序名为test.py

那么写一个setup.py:

from bbfreeze import Freezer

f = Freezer("build")

f.addScript("test.py")

f()

运行setup.py就可以得到打包的结果了。

2011年03月28日 星期一 20:40

张老师,我下了一个EGG的文件,但是没有找到相关使用文档啊、、

 

2011年03月28日 星期一 20:47

文档的话,那个下载页面的上面就是。

2011年03月28日 星期一 21:07

张老师,我用了最新版的BBFREEZE,但是还是factorial的BUG。要不我把源码发给你你帮我看下好吗?

 

2011年03月28日 星期一 21:16

你用了scipy的什么库函数?程序放到邮箱里吧

2011年03月28日 星期一 21:19

import xlrd
from scipy import interpolate
from numpy import linspace
from numpy import array
from numpy import zeros_like
import pylab as plt
from pyExcelerator import *

import部分就这些了

2011年03月28日 星期一 21:35

由于没有pyExcelerator,我测试了下面的程序:

import xlrd
from scipy import interpolate
from numpy import linspace
from numpy import array
from numpy import zeros_like
import pylab as plt

打包之后能正常运行,所有的库都能正常载入。你先试试这个最简单的程序,看是否报错。如果报错,把完整的错误信息贴出来看看。

需要注意的是用matplotlib时,需要选好后台界面库,建议用TKAgg,这个打包比较小一点。另外还需要手工将matplotlib的数据文件夹mpl-data复制到打包文件夹下,也可以把这个复制工作写入setup.py。

2011年03月30日 星期三 14:40

easy_install  在哪里下载呀

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号