我使用的是cx_freeze
开发版本(正如建议的here,也尝试过最新的稳定版本1.3.1),我试图从一个导入numpy和一个令人兴奋的树冠发行版的文件中为windows构建一个可执行文件。这是文件test.py
:
import numpy as np
def f(x):
y = np.linspace(0,x,1000)
return y
if __name__ == '__main__':
print f(5)
这是设置.py文件:
^{pr2}$这是运行exe时遇到的错误:
Traceback (most recent call last):
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\cx_
freeze-4.3.1-py2.7-win32.egg\cx_Freeze\initscripts\Console.py", line 27, in <mod
ule>
exec code in m.__dict__
File "test.py", line 7, in <module>
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\num
py\__init__.py", line 143, in <module>
import add_newdocs
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\num
py\add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\num
py\lib\__init__.py", line 13, in <module>
from polynomial import *
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\num
py\lib\polynomial.py", line 17, in <module>
from numpy.linalg import eigvals, lstsq, inv
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\num
py\linalg\__init__.py", line 48, in <module>
from linalg import *
File "C:\Users\Zah\AppData\Local\Enthought\Canopy32\User\lib\site-packages\num
py\linalg\linalg.py", line 23, in <module>
from numpy.linalg import lapack_lite
File "ExtensionLoader_numpy_linalg_lapack_lite.py", line 22, in <module>
File "ExtensionLoader_numpy_linalg_lapack_lite.py", line 14, in __bootstrap__
ImportError: DLL load failed: No se puede encontrar el m¾dulo especificado.
我注意到在构建目录中有一个numpy.linalg.lapack_lite.pyd
文件。在
在Python安装目录中,转到Scripts目录(即C:/Python27/Scripts)。在此文件夹中,您应该可以找到两个DLL文件:
编辑cxFreeze构建例程,使这两个文件复制到与可执行文件相同的目录(构建目录)。在那之后,试着运行exe,这应该可以解决问题(不管怎样,它对我来说都是如此)。在
我怎么知道的?你说你注意到了纽比·利纳格·拉帕克·莱特.p.yd文件。我所做的是使用一个名为DependencyWalker(website)的工具打开了这个文件。这个程序分析一个文件的所有DLL依赖关系。经过分析,它告诉我那两个DLL文件不见了。在
我真的希望这能有所帮助,我知道这些事情是多么令人沮丧!在
相关问题 更多 >
编程相关推荐