python3.4.4下安装cxfreeze

python3.4.4下安装cxfreeze
 
先说结论:
从 https://pypi.org/project/cx-Freeze/4.3.4/#history 中下载 cxfreeze4.3.4的.whl,
然后手动安装:
pip install XXXXXXXXX.whl
 
总结:
如果直接运行pip命令无法安装成功,则考虑从网上找.whl直接安装。
whl的文件名里的“cp34”, 就是python3.4版本的意思,注意找合适自己python的版本。
对于一些需要依赖其他库的包来说,这个方法也是挺麻烦的,不过还好cxfreeze并不依赖其他的库。
 
解决过程:
1) 直接使用pip下载安装, 安装时出错
一般直接安装包时, 都会直接使用pip命令进行下载:
pip install XXXXXXXXX.
可惜在python3.4.4下, 我直接下载安装一直报错, 估计是安装脚本对python3.4.4的处理有bug, 因为我在win7下对python2.7使用pip命令下载安装一切正常.
python3.4.4下使用pip下载, 一开始报缺vc2010的支持库, 解决后又报找不到vc2010的编译器要求安装window sdk 7.1, 花费大量时间安装这2个包后, 还是报错:
error: file 'XXXXXXXX\cx_Freeze\cxfreeze-postinstall' does not exist.
总之就是不给用, 安装脚本没有很好地处理python3.4.4下的安装, 它明明知道我是python3.4.4.
 
2) 使用exe安装包安装官网的历史版本的最后一个版本, 使用时出错.
尝试过使用exe安装包安装cxfreeze4.3.3版本, 它官网上的历史版本里的最后版本.
安装成功但打包的exe执行时报错(神奇的是打包它自带samples中的hello.py却不会报错):
Traceback (most recent call last):
File "E:\Python\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in
exec(code, m.__dict__)
File "run_all_case.py", line 8, in
import unittest
File "C:\Python\32-bit\3.4\lib\importlib\_bootstrap.py", line 2214, in _find_and_load
File "C:\Python\32-bit\3.4\lib\importlib\_bootstrap.py", line 2203, in _find_and_load_unlocked
File "C:\Python\32-bit\3.4\lib\importlib\_bootstrap.py", line 1191, in _load_unlocked
File "C:\Python\32-bit\3.4\lib\importlib\_bootstrap.py", line 1161, in _load_backward_compatible
AttributeError: 'module' object has no attribute '_fix_up_module'
 
3)下载whl文件手动安装, 找到支持python3.4.4的最后版本, 终于正常.
https://pypi.python.org/pypi 中直接下载 cxfreeze4.3.4的.whl,
然后手动安装:
pip install XXXXXXXXX.whl
 
最终测试支持3.4.4python的版本为cxfreeze4.3.4.
 
如果安装.whl时, 不支持当前版本的python, 则会报错:
XXXXXX.whl is not a supported wheel on this platform.
whl的文件名里的“cp34”, 就是python3.4版本的意思,注意找合适自己python的版本, 然后测试.
 

你可能感兴趣的:(cxfreeze,python)