ΠΡΠΈ Π·Π°ΠΌΠΎΡΠ°ΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ python3.8 Π² msi Ρ ΠΏΠΎΠΌΠΎΡΡΡ cx_freeze msi ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½Π°, Π½ΠΎ Π½Π΅ Π½Π° Π΄ΡΡΠ³ΠΈΡ
Ρ
ΠΎΡΡΠ°Ρ
.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅: OSError: Could not find lib geos_c.dll or load any of its variants [].
ΠΠΈΠΏΡΠ°ΠΉΠ»:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[packages]
cx_Freeze = "==6.2"
shapely = "==1.7.1"
[requires]
python_version = "3.8"
[scripts]
build = "python setup.py bdist_msi"
setup.py:
from cx_Freeze import setup, Executable
if __name__ == "__main__":
APP = Executable(
script="test.py",
base=None,
targetName="test", # executable name avaiable in cli after installation
)
setup(
name="test",
options={
"build_exe": {},
"bdist_msi": {
"add_to_path": True,
"all_users": True, # require admin rights
},
},
executables=[APP],
)
test.py:
from shapely.geometry import LineString
pallet_line_string = LineString(
[
(0, 0),
(10, 0),
(10, 20),
(0, 20),
(0, 0),
]
)
print(pallet_line_string)
Windows 10
1.7.1 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ· PyPI Ρ ΠΏΠΎΠΌΠΎΡΡΡ pipenv
@ypicard ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π° Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΡΠ²ΠΎ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΡ geos_c.dll. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ Π΄Π»Ρ ΠΊΡΠ°ΡΠΈΠ²ΡΡ ΠΊΠΎΠ»Π΅Ρ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ Π½Π° appveyor: https://github.com/Toblerity/Shapely/blob/maint-1.7/appveyor.yml#L84.
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ dll ΡΠΆΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. Π― ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΠΈΡ
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ( C:\Program Files (x86)\my_program\lib\shapely\DLLs
). ΠΠ½ΠΈ Π²ΡΠΎΠ΄Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΎΠ±ΡΠ°Π½Ρ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ shapely Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡ
ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ. Π― Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π» ΠΏΡΡΡ Π² geos.py:166
, ΠΈ ΠΎΠ±Π° egg_dlls
ΠΈ wininst_dlls
Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π§ΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ?
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΎ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅: geos_c.dll
Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ» Π½Π°ΠΉΠ΄Π΅Π½, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΠ²Π»ΡΠ΅ΠΌΡΡ. ΠΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Microsoft VC Redistributables, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΎ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅:
geos_c.dll
Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ» Π½Π°ΠΉΠ΄Π΅Π½, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΠ²Π»ΡΠ΅ΠΌΡΡ. ΠΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Microsoft VC Redistributables, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!