[英]“pip install --editable ./” vs “python setup.py develop”
[英]Python setup.py develop vs install
setup.py develop
和install
中的兩個選項讓我很困惑。 根據這個站點,使用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.