问题:Python setup.py开发与安装
在setup.py两个选项develop
,并install
混淆了我。根据此站点,使用develop
创建到site-packages目录的特殊链接。
人们建议我使用python setup.py install
全新安装,并且python setup.py develop
对安装文件进行任何更改之后。
谁能阐明这些命令的用法?
回答 0
python setup.py install
用于安装(通常是第三方)您不会自行开发/修改/调试的软件包。
对于您自己的东西,您想要首先安装您的软件包,然后能够频繁编辑代码而不必每次都重新安装该软件包-正是python setup.py develop
这样:安装软件包(通常只是一个源文件夹)以某种方式可以让您在将代码安装到(虚拟)环境后方便地编辑代码,并使更改立即生效。
请注意,强烈建议使用pip install .
(安装)和pip install -e .
(开发人员安装)来安装软件包,因为setup.py
直接调用将对许多依赖项(例如pull prereleases和不兼容的软件包版本)做错事,或者使软件包难以使用卸载pip
。
回答 1
从文档中。该develop
不会安装软件包,但它会创建一个.egg-link
部署目录回项目源代码目录。
因此,这就像安装,而不是复制到其中,site-packages
而是添加了一个符号链接(.egg-link
充当多平台符号链接)。
这样,您可以编辑源代码并直接查看更改,而无需在每次进行少量更改时都重新安装。如果您是该项目的开发者,因此很有用,名称为develop
。如果您只是在安装别人的软件包,则应使用install
回答 2
人们在使用该develop
方法时可能会发现有用的另一件事是可以--user
选择不使用sudo进行安装。例如:
python setup.py develop --user
代替
sudo python setup.py develop