使用py2exe的shapely库

时间:2015-07-24 19:17:13

标签: python windows py2exe shapely

在使用py2exe移植时,似乎无法弄清楚如何正确导入此库。我尝试在设置文件中包含匀称的库,将所有必需的dll复制到dist文件夹中,以及其他许多内容现在已经复制了几天。我可以在python中导入shapely.geometry功能很好,它似乎没有进入py2exe输出文件。

有什么想法吗?

setup.py

from distutils.core import setup
import py2exe



setup(console=['test.py'])

test.py

from shapely.geometry import Polygon
from shapely.geometry import Point



print 'test' 

错误:

C:\用户\用户\桌面\ DIST> TEST.EXE 回溯(最近一次调用最后一次):

文件" test.py",第1行,

文件"匀称\ geometry__init __。pyc",第4行,

文件"匀称\ geometry \ base.pyc",第9行,

文件" shapely \ coords.pyc",第8行,

文件"形状\ geos.pyc",第96行,

文件" ctypes__init __。pyc",第365行, init

WindowsError:[错误126]找不到指定的模块

1 个答案:

答案 0 :(得分:1)

要包含Shapely所需的GEOS DLL,您可能需要通过setup.py中的py2exe options明确包含Shapely包。

e.g。 setup.py:

...
setup(console=['test.py'],
      options={'py2exe': {'packages': ['shapely']}})

(这也适用于菲奥娜 - 见https://gis.stackexchange.com/a/81821/6976

包含GEOS DLL后,您可能还需要明确排除Visual C ++ 2008 Redistributable DLL - 请参阅https://stackoverflow.com/a/12153700/478380