Python setup.py开发与安装
setup.py develop
和install
中的两个选项让我感到困惑。 根据这个网站 ,使用develop
创build一个特殊的链接到网站包目录。
有人build议我使用python setup.py install
进行全新安装,并在对setup文件进行任何更改之后python setup.py develop
。
任何人都可以阐明这些命令的用法吗?
python setup.py install
用于安装(通常是第三方)软件包,您不打算自己开发/编辑/debugging。
对于你自己的东西,你想要安装你的软件包,然后能够经常编辑你的代码, 而不必重新安装你的软件包 – 这正是python setup.py develop
所做的:安装软件包(通常只是一个源代码文件夹),以便您可以在安装到(虚拟)环境后方便地编辑代码,并使更改立即生效。
请注意,强烈build议使用pip install .
(安装)和pip install -e .
(开发人员安装)来安装软件包,因为直接调用setup.py会对许多依赖项做错误的事情,例如拉取预发行版本和不兼容的软件包版本,并使软件包难以用pip卸载。
从文档 。 develop
不会安装软件包,但会在部署目录中创build一个.egg-link
回到项目源代码目录。
所以就像安装,而不是复制到site-packages
它添加了一个符号链接( .egg-link
作为一个多平台的符号链接)。
这样,您可以编辑源代码并直接查看更改, 而不必每次只需稍作更改就重新安装。 当您是该项目的开发人员时,这是非常有用的,因此名称develop
。 如果你只是安装别人的包,你应该使用install
使用develop
方法的人可能会觉得有用的另一件事是--user
选项安装没有sudo。 例如:
python setup.py develop --user
代替
sudo python setup.py develop