py2exe - paramiko,ImportError:没有名为paramiko的模块
我正在尝试用 py2exe 来编译我的应用程序,setup.py 的代码是:
from distutils.core import setup
import py2exe
import sys
if len(sys.argv) == 1:
sys.argv.append("py2exe")
setup( options = {"py2exe": {"compressed": 1, "optimize": 2,"dll_excludes": "w9xpopen.exe", "ascii": 0, "bundle_files": 1}},
zipfile = None,
console = [
{
"script": "app.py",
"icon_resources": [(0, "favicon.ico")]
}
],)
编译没有问题,但如果我尝试启动 app.exe,就会出现这个错误:
F:\python\app\dist>app.exe
Traceback (most recent call last):
File "app.py", line 8, in <module>
ImportError: No module named paramiko
我应用程序的第 8 行是:
import paramiko
我该如何解决这个问题?我需要用 py2exe 编译我的应用程序以便分发!
2 个回答
0
这篇文章可能提供了一种解决问题的方法:
在用py2exe运行一个导入了Paramiko的脚本时,我注意到输出中出现了:
以下模块似乎缺失了…… paramiko……
然后在我运行exe时生成的日志文件中,我看到了这个:
追溯(最近的调用最后):…… ImportError: 没有名为paramiko的模块。这是因为py2exe无法处理egg文件。所以我做的是把egg文件里的paramiko目录提取出来,放到我的site-packages目录里,然后删除了egg文件。现在可以正常工作了,尽管设置函数仍然告诉我:
以下模块似乎缺失了 ['Crypto.PublicKey._fastmath', 'Crypto.Util.winrandom', '_ssl', 'r_hmac']
幸运的是,据我所知,我在任何地方都没有使用这些模块。
0
你还需要在你的setup.py文件里加上import paramiko。