繁体   English   中英

我如何修复这个 Python ModuleNotFoundError

[英]How do I fix this Python ModuleNotFoundError

我试图找出是什么导致这个名为 builder.py 的文件无法在 mac 上运行,即使它在 Windows 上运行。 代码:

import cffi
import glob
import platform

# relative to build dir
LIB_BASE = '../libs/'
# compiling libraries statically to get a single binary
EXTRA_SRC = [LIB_BASE + 'subhook/subhook.c']

pltsysname = {'Windows': 'win32', 'Darwin': 'osx', 'Linux': 'elf'}
pltsrc = pltsysname[platform.system()]
pltsrc = LIB_BASE + 'plthook/plthook_{}.c'.format(pltsrc)
# EXTRA_SRC.append(pltsrc)  # disabled until it is actually useful

LIBDIRS = []
if platform.system() == 'Windows':
LIBDIRS.append('../libs/SDL/lib/x86/')

CDEFS = 'generated internals SDL XDL subhook xternPython'.split()


def readfile(name):
with open(name, 'r') as f:
    content = f.read()
return content


def build():
ffibuilder = cffi.FFI()

for fname in CDEFS:
    ffibuilder.cdef(readfile('cdefs/{}.h'.format(fname)))

ffibuilder.embedding_api('uint32_t kickstart();')
ffibuilder.embedding_init_code(readfile('remote.py'))

ffibuilder.set_source(
    '_remote', readfile('cdefs/remote.c'), sources=EXTRA_SRC,
    libraries=['SDL2'], library_dirs=LIBDIRS,
    define_macros=[('SUBHOOK_STATIC', None)])

ffibuilder.compile(tmpdir='build', target='remote.bin')


if __name__ == '__main__':
build()

当我运行它时,我希望它能够运行,但它却出现了以下错误:

Traceback (most recent call last):
File "/Users/alexanderlee/Desktop/sbpe-1.6.1/builder.py", line 1, in <module>
import cffi
ModuleNotFoundError: No module named 'cffi'
>>> 

我如何解决它?

这可能是因为您只在 Windows 上安装了cffi ,因此您可能还需要在 Mac 上安装它。

您可以遵循文档上的规则:

pip install cffi

cffi是第三方模块。 它安装在您的 Windows 计算机上,但未安装在您的 Mac 上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM