免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4744 | 回复: 10
打印 上一主题 下一主题

py2exe怎么打包有文件夹的自定义的一些库呢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-25 15:22 |只看该作者 |倒序浏览
比如,在main.py同目录中建立个lib文件夹,我在lib里写了一些py类,供main.py调用。。

本来以为它像找系统库一样自动能找到打包,不过好象不行:(
如果把lib里的py移到main同一目录下,用includes[]每一个就可以了,不过有目录的话,那个lib文件夹名字写在哪呢?谢谢了

论坛徽章:
0
2 [报告]
发表于 2008-08-25 17:05 |只看该作者
把你的脚本贴一下看看。
另外,lib文件夹是做成了包了么?

论坛徽章:
0
3 [报告]
发表于 2008-08-25 17:36 |只看该作者
文件结构:
main.py
init.py
LIB
    log.txt
    Logger.py
    Logger.pyc
    SqlHelper.py
    SqlHelper.pyc
    WebPage.py
    WebPage.pyc
-----------
打包setup.py:
from distutils.core import setup
import py2exe,sys

#sys.path.append('./lib')

setup(name="run",
      version = "0.1.0",
      description = "forum robot",
      name = "forum robot",
      console=["mail.py","init.py"],
      #includes = ["Logger","SqlHelper", "WebPage"]
)

不知道如何把那个lib文件夹的几个文件包含进去,py2exe不能默认找到import的自定义那些库么?

论坛徽章:
0
4 [报告]
发表于 2008-08-25 17:51 |只看该作者
直接运行main.py是可以的.
里面引用了
from WebPage import *

打报后运行
"
ImportError: No module named WebPage
"..

去py2exe官方网也没看到各参数的说明,不晓得哪个参数能把那些模块路径包含进去了=_=!

论坛徽章:
0
5 [报告]
发表于 2008-08-25 18:05 |只看该作者
建议把它做成包试试。
即lib文件夹里建一个__init__.py的空文件,然后把main.py的import改成from lib.WebPage import *.
未经验证,你试试看吧。

论坛徽章:
0
6 [报告]
发表于 2008-08-25 21:41 |只看该作者
谢谢楼上了。。
解决了,python的打包那么麻烦,真的服了,指明路径先用data_files,自定义库中的import的库,要一个个includes进来。。。

论坛徽章:
0
7 [报告]
发表于 2008-08-26 09:42 |只看该作者

回复 #5 jjj137 的帖子

这个方法可以,不算麻烦吧。

论坛徽章:
0
8 [报告]
发表于 2008-08-26 10:24 |只看该作者
原帖由 可可熊 于 2008-8-26 09:42 发表
这个方法可以,不算麻烦吧。

呵呵,你实验过了么?
我电脑里没有py2exe,全是靠猜的……

论坛徽章:
0
9 [报告]
发表于 2008-08-26 14:28 |只看该作者

回复 #8 jjj137 的帖子

试过的,我自己写的程序,以前就是和主程序放一块,建了个lib放其它文件,可以的

论坛徽章:
0
10 [报告]
发表于 2008-08-26 14:44 |只看该作者
呵呵,我是看DIP里说要建立一个良好的包管理和文件结构,才想到的,没想到真的可以……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP