可以用
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博客