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 解决了问题。