web-dev-qa-db-ja.com

Py2Exe、[Errno 2]そのようなファイルまたはディレクトリはありません: 'numpy-atlas.dll'

私は自分のプログラムにmatplotlibを含め、グーグルで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'
11
Louis Hong

Py2exeがdllを見つけられないようです。次のスクリプトはpy2exeを静かにします:

distutils.core.setup(
options = {
    "py2exe": {
        "dll_excludes": ["MSVCP90.dll"]
    }
},
...

それでも、dllがユーザーのマシン上にあることを確認する必要があります。 numpy-atlas.dllはmatplotの依存関係の1つだと思います。

他のすべてが失敗した場合も、PyInstallerの使用を検討してください。

0
frainfreeze

これは私のために働いたものです。 C:\ Python27\Lib\site-packages\numpy\core\numpy-atlas.dllというdllを見つけて、setup.pyと同じフォルダーにコピーしました。

17
max

同じ問題が発生しました。少しテストした後、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(...)
13
J.J. Hakala