CX_FREEZEライブラリを使用して、Anaconda仮想環境のWindows上のpythonスクリプトから実行可能ファイルを作成しようとしています。私はバージョン6.1でそれをやろうとしていましたが、私はIntel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll
というエラーに貼られました。その後、CX_FREEZEをバージョン6.2にアップグレードして、これがpython setup.py build
を実行したときの出力です。
running build
running build_exe
C:\Users\--\Anaconda3\lib\site-packages\cx_Freeze\Finder.py:309: VisibleDeprecationWarning: zmq.eventloop.minitornado is deprecated in pyzmq 14.0 and will be removed.
Install tornado itself to use zmq with the tornado IOLoop.
deferredImports, namespace = namespace)
Using TensorFlow backend.
2020-07-10 08:51:47.876748: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
2020-07-10 08:51:47.885038: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
C:\Users\--\Anaconda3\lib\site-packages\IPython\html.py:14: ShimWarning: The IPython.html package has been deprecated since IPython 4.0. You should import from notebook instead. IPython.html.widgets has moved to ipywidgets.
"IPython.html.widgets has moved to ipywidgets.", ShimWarning)
C:\Users\--\Anaconda3\lib\site-packages\IPython\kernel\__init__.py:13: ShimWarning: The IPython.kernel package has been deprecated since IPython 4.0.You should import from ipykernel or jupyter_client instead.
"You should import from ipykernel or jupyter_client instead.", ShimWarning)
error: The baseline image directory does not exist. This is most likely because the test data is not installed. You may need to install matplotlib from source to get the test data.
以下はファイルの内容setup.py
です。
from cx_Freeze import setup, Executable
exe = Executable(script="mainDefectDetection.py",targetName="Test.exe")
setup(name = "try", version = "0.1", description = "", options = {'build_exe': {'include_files':["../../../../Anaconda3/Library/bin/mkl_intel_thread.dll"]}},executables = [exe])
MATPLOTLIB(pip uninstall matpolotlib
、pip install matplotlib
)を再インストールしようとしましたが、何も変更されていません。
CX_FREEZE 6.1にダウンロードしてくれてありがとうございました! MPL_Toolkitsエラーという名前のモジュールなしでは、MPL_Toolkitsを見つけるためにCX_FREEZEに指示する必要があります。これはsite.getSitePackages()[1] + '/ mpl_toolkits'を使用して実行できます。パスにない場合はsite.getUserSitePackages()を使用する必要があります。例えば:
build_exe_options = {"include_files": [(site.getsitepackages()[1] + '/mpl_toolkits', "mpl_toolkits")]}
_