私は自分のプログラムにmatplotlibを含め、グーグルでnumpy_atlas.dllについて検索しましたが、この問題を抱えているのは地球上で私だけのようです。
from setuptools import setup
import py2exe
setup(console=['EulerMethod.py'])
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の依存関係の1つだと思います。
他のすべてが失敗した場合も、PyInstallerの使用を検討してください。
これは私のために働いたものです。 C:\ Python27\Lib\site-packages\numpy\core\numpy-atlas.dllという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(...)