繁体   English   中英

Python setup.py 开发与安装

[英]Python setup.py develop vs install

setup.py developinstall中的两个选项让我很困惑。 根据这个站点,使用develop创建一个指向 site-packages 目录的特殊链接。

人们建议我使用python setup.py install进行全新安装,并在对安装文件进行任何更改后使用python setup.py develop

谁能解释一下这些命令的用法?

python setup.py install用于安装(通常是第三方)您不会自己开发/修改/调试的包。

对于你自己的东西,你想首先安装你的包,然后能够经常编辑代码不必每次都重新安装包——这正是python setup.py develop所做的:它安装包(通常只是一个源文件夹),这样您就可以在将代码安装到(虚拟)环境后方便地编辑代码,并使更改立即生效。

请注意,强烈建议使用pip install . (常规安装)和pip install -e . (developer install) 来安装包,因为直接调用setup.py会对许多依赖项做错误的事情,例如拉取预发布和不兼容的包版本,或者使用pip使包难以卸载。

文档中 develop不会安装包,但会在部署目录中创建一个.egg-link回到项目源代码目录。

所以这就像安装,但不是复制到site-packages它添加了一个符号链接( .egg-link充当多平台符号链接)。

这样您就可以编辑源代码并直接查看更改,不必每次进行一点更改时都重新安装。 当您是该项目的开发人员时,这很有用,因此名称为develop 如果你只是安装别人的包,你应该使用install

人们在使用develop方法时可能会发现有用的另一件事是--user选项可以在没有 sudo 的情况下进行安装。 例如:

python setup.py develop --user

而不是

sudo python setup.py develop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM