赞
踩
python setup.py build_ext --inplace
是用于构建和编译Python扩展模块的命令。它的主要用途是在开发期间将编译生成的扩展模块放置在源码目录中,而不是默认的构建目录。
build_ext
: 这是setup.py
的一个子命令,用于构建C或C++扩展模块。它会编译定义在setup.py
文件中的扩展模块。--inplace
: 这个选项指定编译后的扩展模块应该放置在源码目录中,而不是在build
子目录中。这使得可以在开发期间直接使用最新编译的扩展模块,无需安装或复制它们。--inplace
可以在修改和编译代码后立即测试这些改动,而不需要每次都进行完整的安装过程。这提高了开发效率。假设项目目录结构如下:
my_project/
├── setup.py
├── my_module/
│ ├── __init__.py
│ ├── my_extension.c
则setup.py
可以包含如下定义扩展模块的代码(from setuptools import Extension
需要引入Extension
模块,Extension函数参考https://blog.csdn.net/weixin_43571647/article/details/139402477):
from setuptools import setup, Extension
setup(
name='my_project',
version='0.1',
ext_modules=[
Extension('my_module.my_extension', ['my_module/my_extension.c'])
]
)
运行一下命令:
python setup.py build_ext --inplace
会编译my_extension.c
并生成一个共享库文件(例如在Linux上是.so
文件,在Windows上是.pyd
文件),并将其放置在my_module
目录下。这样你可以直接在Python中导入和使用它:
import my_module.my_extension
setup.py
setup.py
中正确定义了扩展模块。python setup.py build_ext --inplace
。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。