2015-07-24 8 views
0

Невозможно понять, как правильно импортировать эту библиотеку при портировании с помощью py2exe. Я попытался включить стройную библиотеку в установочный файл, скопировав все необходимые DLL в папку dist и многое другое в течение нескольких дней. Я могу импортировать функции shapely.geometry в python, но он просто не попадает в выходной файл py2exe.Использование высококачественной библиотеки с 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: \ Users \ User \ Desktop \ расстояние> test.exe Traceback (самый последний вызов последний):

Файл "test.py", строка 1, в

Файл "стройный \ geometry__init __. Pyc", строка 4, в

Файла "стройный \ геометрия \ base.pyc", строка 9, в

Файла "стройный \ coords.pyc", строка 8 , в

Файл "стройной \ geos.pyc", строка 96, в

Файл "ctypes__init __ Pyc.", линии 365, в INIT

WindowsError: [Ошибка 126] указанный MODU le не удалось найти:

ответ

1

Для того чтобы добавить DLL-файлы GEOS, которые требуются Shapely, вам может потребоваться явно включить пакет Shapely через py2exe options в setup.py.

например. 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