python - 使用 PyInstaller 创建 .exe 文件期间的 ImportError
问题描述
我正在尝试从我的 python 脚本创建一个 .exe 文件,以使我没有安装 Python 的同事能够在本地运行该文件。该文件在浏览器窗口中运行 plotly/dash 可视化。我正在尝试使用 PyInstaller;以下是我得到的导入错误语句:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\matplotlib\__init__.py", line 141, in <module>
from . import cbook, rcsetup
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\matplotlib\cbook\__init__.py", line 33, in <module>
import numpy as np
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
739146 INFO: Loading module hook "hook-matplotlib.py"...
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\matplotlib\__init__.py", line 141, in <module>
from . import cbook, rcsetup
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\matplotlib\cbook\__init__.py", line 33, in <module>
import numpy as np
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
739647 INFO: Loading module hook "hook-numpy.core.py"...
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
Traceback (most recent call last):
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\pkgutil.py", line 493, in find_loader
spec = importlib.util.find_spec(fullname)
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\importlib\util.py", line 94, in find_spec
parent = __import__(parent_name, fromlist=['__path__'])
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 320, in get_module_file_attribute
loader = pkgutil.find_loader(package)
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\pkgutil.py", line 499, in find_loader
raise ImportError(msg.format(fullname, type(ex), ex)) from ex
ImportError: Error while finding loader for 'numpy.core' (<class 'ImportError'>: DLL load failed: Das angegebene Modul wurde nicht gefunden.)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\Scripts\pyinstaller-script.py", line 10, in <module>
sys.exit(run())
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\__main__.py", line 111, in run
run_build(pyi_config, spec_file, **vars(args))
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\build_main.py", line 838, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\build_main.py", line 784, in build
exec(text, spec_namespace)
File "<string>", line 17, in <module>
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\build_main.py", line 241, in __init__
self.__postinit__()
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
self.assemble()
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\build_main.py", line 500, in assemble
module_hook.post_graph()
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\imphook.py", line 410, in post_graph
self._load_hook_module()
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\building\imphook.py", line 377, in _load_hook_module
self.hook_module_name, self.hook_filename)
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\compat.py", line 736, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 407, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 907, in load_module
File "<frozen importlib._bootstrap_external>", line 732, in load_module
File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
File "<frozen importlib._bootstrap>", line 696, in _load
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\hooks\hook-numpy.core.py", line 27, in <module>
pkg_base, pkg_dir = get_package_paths('numpy.core')
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 537, in get_package_paths
file_attr = get_module_file_attribute(package)
File "C:\Users\ishulman\AppData\Local\Continuum\anaconda3_1505\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 339, in get_module_file_attribute
raise ImportError
ImportError
所有库都已安装,路径正确,代码正在我的计算机上运行。在线研究我知道这与隐藏进口有关;我仍然找不到如何修复我的库的解决方案。我会很感激任何线索。此外,是否有任何替代/更简单的方法可以让 python 脚本在没有安装 Python 的情况下在本地运行?
解决方案
推荐阅读
- javascript - 如何区分vue中的@click和@keyup.enter?
- python-3.x - 如何在格式化的字符串中创建变化的变量?
- sql - SQL Join 并为缺少的记录获取空输出
- r - 寻找在存在 NA 时使用 ifelse 的 R 函数
- c++ - 我编写了一个用于检查括号的代码,但编译器向我显示了这些错误
- linux - 我可以使用哪个 linux 命令检查 VM 的完整大小?
- nlp - 在使用 ThreadPoolExecutor 时,如何在不影响两个大子列表中的每个子列表的情况下加入两个大子列表?
- bert-language-model - 这些是 PyTorch 中 Bert 预训练模型推理的正常速度吗
- jmeter - 测量仪 | 在较新的 Jmeter 版本 5.x 中重用 Jmeter3.0 脚本时未生成负载
- android - Android 改造读取 ErrorBody.String()