知方号

知方号

python setup.py install/build 与 python setup.py develop的区别 (python setup.py build

可以用

python setup.py --help-commands

查看help

      在源码安装某个库或包时,发现可以python setup.py install 和python setup.py develop两种方式来安装,这两种方法的区别是

①python setup.py install:主要是安装典型第三方包,这种包比较稳定,不再需要你去编辑、修改或是调试。

②python setup.py develop:当你安装一个包后,这个包需要你不断修改,这样你就不得不重新安装,这时就采用这种安装方法。

当执行python setup.py install, 程序做的事情很简单,就是 copy build/lib(或build/lib.plat)目录下的everything到python安装目录。linux下的安装目录通常是prefix/lib/pythonX.Y/site-packages

而python setup.py develop不会真正安装包,而是在系统环境中创建一个软连接指向包实际所在的目录,这样修改了相关文件之后不用再安装便能生效,便于开发调试等

有时候我们会看到有人用python setup.py build命令,有些困惑

其实python setup.py install 一条命令就已经把build 和 install都做了,但是也可以将二者分开,就像比如你想在本地build好,然后发给其他人直接install就行了,就可以这样

python setup.py buildpython setup.py install

也有人这么写

python setup.py build install

这就和python setup.py install没什么区别了

build的作用是

即如果你的package中有C文件,那么他们会同时被编译,否则build命令做的就是copying

python setup.py build_ext --inplace build_ext:build C/C++ extensions (compile/link to build directory),给python编译一个c、c++的拓展–inplace:ignore build-lib and put compiled extensions into the source directory alongside your pure Python modules,忽略build-lib,将编译后的扩展放到源目录中,与纯Python模块放在一起  

这里可见python setup.py build 和 python setup.py build_ext的生成的区别

Python C Extension(C拓展)_hxxjxw的博客-CSDN博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。

上一篇 没有了

下一篇没有了