使用py2exe在Python中打包软件,找不到"libiomp5md.dll"

Gia*_*ear 15 python executable exe runtime-error py2exe

我在Window 7 OS上安装了Python 2.7.我希望使用py2exe将我的project.py打包在一个可执行文件中.按照说明我写了一个setup.py文件

from distutils.core import setup
import py2exe

setup(console=["project.py"])  
Run Code Online (Sandbox Code Playgroud)

我收到了这条消息

在此输入图像描述

我试图排除' libiomp5md.dll '

from distutils.core import setup
import py2exe

setup(console=["SegmentationAccuracy.py"])

dll_excludes = ['libiomp5md.dll']
Run Code Online (Sandbox Code Playgroud)

但总是我得到相同的错误消息"错误:libiomo5md.dll:没有这样的文件或目录"

我的可执行文件:

import math
import os
import numpy as np
import sys
import ogr
from progressbar import ProgressBar
from shapely.geometry import Polygon
nan = np.nan
Run Code Online (Sandbox Code Playgroud)

Chr*_*isB 29

我有同样的问题,但import numpy在内部调用setup.py解决了问题


dan*_*van 9

libiomp5md.dll来自Intel C编译器,用于OpenMP多处理操作.我希望您的代码涉及numpy或使用英特尔编译器编译的代码,因此您的py2exe构建依赖于它.

你不能简单地创建没有它的构建,所以我建议你在你的系统上找到它并将它复制到你运行的目录python setup.py py2exe.提示,我有一份副本C:\Python27\Lib\site-packages\numpy\core

[如果你真的想要排除它,你将不得不numpy使用Visual Studio或Msys手动编译.]

一旦你libiomp5md.dll进入你正在执行的目录中,你python setup.py py2exe只需要删除该exclude_dll行(因为你不想排除它......)

from distutils.core import setup
import py2exe

setup(console=["SegmentationAccuracy.py"])
Run Code Online (Sandbox Code Playgroud)