virtualenv中的ctypes在system32中找不到dll

时间:2015-11-05 17:56:52

标签: python windows virtualenv ctypes

我正在尝试在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

enter image description here

这表明dll检查器可以在system32目录中找到dll enter image description here

1 个答案:

答案 0 :(得分:0)

是。 MSVCP140.dll missing你是对的。不知怎的,我只安装了部分运行时。安装https://www.microsoft.com/en-us/download/details.aspx?id=48145可以解决问题。