这次打包的项目相对于以前打包的项目复杂好多,入口文件 run.py 在项目的第二级目录里面“ test/project/run.py ”
还没有打包之前,在 run.py 中有一段代码如下
if len(test_suite) == 0:
print "111-"
test_mod = __import__(case_mod)
print "111test_mode:", test_mod
self.__add_suite(test_mod, tc_info, device)
运行结果如下:
111-
111test_mode: <module 'advip_case' from 'E:\idd_project\testcases\advip_case.pyc'>
但是用 cx_freeze 打包出来的 run.exe 跑出来却没能打印出来"111test_mode"的信息,并且脚本就结束运行了。 检查了一下
1.需要加载的 advip_case.pyc 正确在当前目录中
2.当前目录已加上__init__.pyc (不过使用__import__方法好像不需要__init__文件)
求助各位大神,这是怎么回事?
1
cs371332219 2018-12-04 11:38:05 +08:00
使用 PyInstaller 的时候遇到过同样的问题,打包的时候加参数手动把你 __import__ 的包补进来就行,更好的办法就不知道了。
|
2
Alerta OP @cs371332219 我已经手动把那个包加进来了,但不知道为什么就没有 import 成功,也没有任何错误信息
|
3
cs371332219 2018-12-04 11:53:18 +08:00
@Alerta cx-freeze 我当时没跑起来就换 PyInstaller 了,抱歉。
|