我正在使用py2exe创建一个python可执行文件(遵循此link)。从cmd运行时,.exe文件显示错误“ImportError:No module named mechanize”,尽管我已经安装了mechanize并将其放在site-packages文件夹中。我该如何解决?目的是创建一个可以在其他Windows计算机上运行的包,而无需安装Python。
答案 0 :(得分:1)
我最近遇到了这个问题,想把我的解决方案留在这里是为了帮助其他想要使用 py2exe 的人。
在按照 py2exe 网站上的 tutorial 创建的示例 setup.py 文件中
from distutils.core import setup
import py2exe
setup(console=['main.py'])
将 setup() 方法的签名更改为:
from distutils.core import setup
import py2exe
setup(
console=['main.py'],
options = {
'py2exe': {
'packages': ['packageName']
}
}
)
现在将 packageName 更新为您在 main.py 文件中导入的模块的名称。然后运行 python setup.py py2exe
,它应该使用包含在其中的外部模块进行构建。我使用 plyer 在我的机器上对此进行了测试,并使用 pip 安装了我的模块。
查看原始文章的链接py2exe-python-to-exe-introduction,尽管有很多广告,但请注意!
答案 1 :(得分:0)
如评论中所述,您可以使用PyInstaller
要获得Py2Exe和PyInstaller之间的差异列表,有一个关于SO的问题可以帮助你here。虽然我认为变成一个可执行文件是随机的(我的意思是它有时会起作用,有时却不会,大多数时候你都无法理解为什么......)
请考虑接受我的回答,我想,它解决了您的问题:)