首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux下Python中的Importin dll

Linux下Python中的Importin dll
EN

Stack Overflow用户
提问于 2013-12-24 13:51:50
回答 2查看 3.7K关注 0票数 2

你好,我的代码在Windows上运行得很好:

代码语言:javascript
运行
复制
    import ctypes
    import sys
    import os
    from ctypes import *
    from numpy import *
    import time
    from ctypes.util import find_library
    libEDK = cdll.LoadLibrary("edk.dll")

我试着在Ubuntu上运行这个程序,我了解到:

代码语言:javascript
运行
复制
Traceback (most recent call last):

 File "/home/nassar/Downloads/python/sds.py", line 9, in <module> 
   libEDK = cdll.LoadLibrary("/home/nassar/Desktop/python/edk.dll")
  File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/nassar/Desktop/python/edk.dll: invalid ELF header
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-24 13:55:44

呃..。你不能那样做;

共享库依赖于操作系统,因此为windows构建的库不可能在linux中工作,而visa反过来也不能工作。

不过,您可能会对葡萄酒有一些了解,因为它是一个跨许多平台工作的Windows运行时。当然,我在葡萄酒中运行Python二进制文件也取得了一些成功。

票数 3
EN

Stack Overflow用户

发布于 2013-12-24 13:53:52

在Linux上,我们有一个叫做shared object (.so)的东西,而不是DLL的。

长话短说:您不能在Linux系统上加载Windows。您需要编译一个Linux共享库("edk.so")。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20762142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档