python setup.py build_ext --inplace命令问题

python setup.py build_ext --inplace命令需要提前安装什么吗?比如visual stidio之类的?

你需要有一个 C 编译器,比如 GCC 或 MSVC,这样才能编译 C/C++ 代码。如果你是在 Windows 上使用 Python,那么你需要安装 Microsoft Visual C++ Build Tools 或 Visual Studio,这样才能获得编译器。
你需要有 Python 的开发工具集(包括 Python.h 头文件和 Python 库)。这些工具集通常随 Python 发布版本一起安装。
你需要有 setup.py 文件,这是项目构建过程的入口。
当运行这个命令时, setup.py 会读取其中的指令,在编译安装时参照该文件进行配置。例如, 在 setup.py 文件中包含了需要编译的源文件,所需的库,编译参数等。

在本地已经配置好 C 编译环境的情况下,这条命令会编译并安装所有的 C/C++ 代码,并将编译好的扩展模块安装到当前目录中。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7456539
  • 这篇博客你也可以参考下:【python】——setup.py build_ext --inplace命令解析
  • 这篇博客也不错, 你可以看下【python】——setup.py build_ext --inplace命令解析
  • 除此之外, 这篇博客: python setup.py的使用中的 python setup.py build_ext --inplace 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 相对python setup.py build_ext,会把.so库文件生成在当前目录下,而不会生成一个lib.xxx目录放置该文件

    hui@hui-XPS-8920:~$ python setup.py build_ext --inplace
    running build_ext
    building 'spam' extension
    creating build
    creating build/temp.linux-x86_64-3.7
    gcc -pthread -B /home/hui/ide/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/hui/ide/miniconda3/include/python3.7m -c spam.c -o build/temp.linux-x86_64-3.7/spam.o
    gcc -pthread -shared -B /home/hui/ide/miniconda3/compiler_compat -L/home/hui/ide/miniconda3/lib -Wl,-rpath=/home/hui/ide/miniconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.7/spam.o -o /home/data/github/BlogCode/python_invoke_cpp/python_C_API/spam.cpython-37m-x86_64-linux-gnu.so
    hui@hui-XPS-8920:~$ ls -R
    .:
    build  setup.py  spam.c  spam.cpython-37m-x86_64-linux-gnu.so
    
    ./build:
    temp.linux-x86_64-3.7
    
    ./build/temp.linux-x86_64-3.7:
    spam.o