virtualenv 中的 ctypes 在 system32 中找不到 dll
ctypes inside virtualenv can't find dll in system32
我正在尝试在 virtualenv 中使用 python Shapely 模块,但它无法加载某些具有依赖性的 dll。
编辑
python 3.5 出现错误!库在 3.4
上工作正常
带有二进制文件的轮子:http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
错误:
Traceback (most recent call last):
File "C:\Python35\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python35\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "c:\games\ingress\mymissionssite\inteltools\IntelTools\update.py", line 9, in <module>
from .regions import Regions
File "c:\games\ingress\mymissionssite\inteltools\IntelTools\regions.py", line 5, in <module>
import shapely.geometry.geo as geometry
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\geometry\__init__.py", line 4, in <module>
from .base import CAP_STYLE, JOIN_STYLE
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\geometry\base.py", line 9, in <module>
from shapely.coords import CoordinateSequence
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\coords.py", line 8, in <module>
from shapely.geos import lgeos
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\geos.py", line 138, in <module>
_lgeos = CDLL("geos_c.dll")
File "C:\Python35\lib\ctypes\__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
这表明 dll 检查器可以在 system32 目录中找到 dll
是的。你说得对 . Somehow I've got only part of runtime installed. Installing https://www.microsoft.com/en-us/download/details.aspx?id=48145 解决了问题。
我正在尝试在 virtualenv 中使用 python Shapely 模块,但它无法加载某些具有依赖性的 dll。
编辑
python 3.5 出现错误!库在 3.4
上工作正常带有二进制文件的轮子:http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
错误:
Traceback (most recent call last):
File "C:\Python35\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python35\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "c:\games\ingress\mymissionssite\inteltools\IntelTools\update.py", line 9, in <module>
from .regions import Regions
File "c:\games\ingress\mymissionssite\inteltools\IntelTools\regions.py", line 5, in <module>
import shapely.geometry.geo as geometry
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\geometry\__init__.py", line 4, in <module>
from .base import CAP_STYLE, JOIN_STYLE
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\geometry\base.py", line 9, in <module>
from shapely.coords import CoordinateSequence
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\coords.py", line 8, in <module>
from shapely.geos import lgeos
File "c:\Games\Ingress\MyMissionsSite\env\lib\site-packages\shapely\geos.py", line 138, in <module>
_lgeos = CDLL("geos_c.dll")
File "C:\Python35\lib\ctypes\__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
这表明 dll 检查器可以在 system32 目录中找到 dll
是的。你说得对