需要无蛋安装Mechanize的解决方案 - Py2exe失败
我在Win7上安装Mechanize的时候绞尽脑汁,结果一直没成功。我尝试过用easy_install --always-unzip的方法,也试过easy_install -Z的方法,还在site-packages目录里添加了.pth文件,甚至把这些方法组合在一起试过。
不过,Py2exe和egg文件不太兼容。如果你有成功的经验,请回复我。
谢谢 - Brad
我参考的一些链接有:
Mechanize没有通过easy_install安装成功?
http://www.daniweb.com/software-development/python/threads/204941
http://www.velocityreviews.com/forums/t691937-re-mechanize-not-recognized-by-py2exe.html
2 个回答
最后一次安装mechanize时,我按照@markgemmill上面提到的方法1进行了操作。
在运行我的可执行文件时,我一直收到一个日志错误:ImportError: No module named inspect。
在py2exe的setup.py文件中,我把inspect、calendar等模块添加到了includes[]里,之后我意识到我可能应该把我的代码改成:
import mechanize
to
from mechanize import *
这样做成功了。通过py2exe生成的可执行文件可以正常运行!
这是个新手错误。总是在学习中…… Brad
如果你还没看过,可以去 py2exe 网站上看看,有一部分是关于 处理 eggs 的内容。我不太清楚这个方法效果如何(因为我从来不安装 eggs),而且 py2exe 本身就已经够复杂了,处理安装了 egg
的包可能会让事情变得更麻烦。我建议你可以试试以下两种方法:
下载
mechanize
的 源代码包,解压后修改里面的setup.py
文件,把zip_safe
选项改成False
。然后在命令行中安装 mechanize:python setup.py install
使用 pip 来安装:
pip install mechanize
当然,你得先安装 pip(可以用
easy_install pip
来安装)。pip 默认是平铺安装包的。(顺便说一下,如果你在 Windows 上使用pip
,要注意它不能处理需要编译的 Python 包。虽然 mechanize 不会有问题,但如果你开始频繁使用其他包的话,就要小心了...)
除了 egg
的问题,我没有看到 mechanize 的包结构中有什么会让 py2exe 在安装后无法识别的地方。