Py2Exe,[Errno 2] 没有那个文件或目录:'numpy-atlas.dll'
Py2Exe, [Errno 2] No such file or directory: 'numpy-atlas.dll'
我在我的程序中包含了 matplotlib,我在 google 上搜索了 numpy_atlas.dll,我似乎是地球上唯一遇到这个问题的人。
setup.py
from setuptools import setup
import py2exe
setup(console=['EulerMethod.py'])
运行 Py2Exe 导致错误
C:\(..obmitted..)>python setup.py py2exe
running py2exe
*** searching for required modules ***
*** parsing results ***
......
...obmitted...
......
*** finding dlls needed ***
error: [Errno 2] No such file or directory: 'numpy-atlas.dll'
听起来 py2exe 找不到 dll。以下脚本将使 py2exe 安静:
distutils.core.setup(
options = {
"py2exe": {
"dll_excludes": ["MSVCP90.dll"]
}
},
...
)
您仍然需要确保 dll 在用户的机器上。我相信 numpy-atlas.dll 是 matplot 依赖项之一。
如果一切都失败了,也可以考虑使用 PyInstaller。
这对我有用。
我找到了 dll:C:\Python27\Lib\site-packages\numpy\core\numpy-atlas.dll
并将其复制到具有 setup.py
的同一文件夹
我遇到了同样的问题。经过一些测试,将 numpy.core
目录附加到 sys.path
似乎可行。
from distutils.core import setup
import py2exe
import numpy
import os
import sys
# add any numpy directory containing a dll file to sys.path
def numpy_dll_paths_fix():
paths = set()
np_path = numpy.__path__[0]
for dirpath, _, filenames in os.walk(np_path):
for item in filenames:
if item.endswith('.dll'):
paths.add(dirpath)
sys.path.append(*list(paths))
numpy_dll_paths_fix()
setup(...)
我在我的程序中包含了 matplotlib,我在 google 上搜索了 numpy_atlas.dll,我似乎是地球上唯一遇到这个问题的人。
setup.py
from setuptools import setup
import py2exe
setup(console=['EulerMethod.py'])
运行 Py2Exe 导致错误
C:\(..obmitted..)>python setup.py py2exe
running py2exe
*** searching for required modules ***
*** parsing results ***
......
...obmitted...
......
*** finding dlls needed ***
error: [Errno 2] No such file or directory: 'numpy-atlas.dll'
听起来 py2exe 找不到 dll。以下脚本将使 py2exe 安静:
distutils.core.setup(
options = {
"py2exe": {
"dll_excludes": ["MSVCP90.dll"]
}
},
...
)
您仍然需要确保 dll 在用户的机器上。我相信 numpy-atlas.dll 是 matplot 依赖项之一。
如果一切都失败了,也可以考虑使用 PyInstaller。
这对我有用。 我找到了 dll:C:\Python27\Lib\site-packages\numpy\core\numpy-atlas.dll 并将其复制到具有 setup.py
的同一文件夹我遇到了同样的问题。经过一些测试,将 numpy.core
目录附加到 sys.path
似乎可行。
from distutils.core import setup
import py2exe
import numpy
import os
import sys
# add any numpy directory containing a dll file to sys.path
def numpy_dll_paths_fix():
paths = set()
np_path = numpy.__path__[0]
for dirpath, _, filenames in os.walk(np_path):
for item in filenames:
if item.endswith('.dll'):
paths.add(dirpath)
sys.path.append(*list(paths))
numpy_dll_paths_fix()
setup(...)