Py2Exe, [Errno 2] Нет такого файла или каталога: 'numpy-atlas.dll'
Я включил matplotlib в свою программу, я искал о numpy_atlas.dll в google, и я, кажется, единственный на Земле с этой проблемой.
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'
Ответы
Ответ 1
Похоже, что py2exe не может найти dll. Следующее script сделает py2exe тихим:
distutils.core.setup(
options = {
"py2exe": {
"dll_excludes": ["MSVCP90.dll"]
}
},
...
)
Вам все равно нужно убедиться, что dll находится на пользовательском компьютере. Я считаю, что numpy-atlas.dll является одной из зависимостей matplot.
Также рассмотрите возможность использования PyInstaller, если все остальное не работает.
Ответ 2
Это то, что сработало для меня.
Я нашел dll: C:\Python27\Lib\site-packages\numpy\core\numpy-atlas.dll
и скопировал его в ту же папку, у которой есть setup.py
Ответ 3
Я столкнулся с той же проблемой. После небольшого тестирования, добавление каталога 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(...)