兩個選項迷惑我。根據這site,使用develop
創建一個特殊的鏈接到site-packages目錄。的Python setup.py的發展VS在setup.py <code>develop</code>和<code>install</code>安裝
有人建議我使用python setup.py install
進行全新安裝,並在對安裝文件進行任何更改後使用python setup.py develop
。
誰能一些線索,這些命令的用法?
兩個選項迷惑我。根據這site,使用develop
創建一個特殊的鏈接到site-packages目錄。的Python setup.py的發展VS在setup.py <code>develop</code>和<code>install</code>安裝
有人建議我使用python setup.py install
進行全新安裝,並在對安裝文件進行任何更改後使用python setup.py develop
。
誰能一些線索,這些命令的用法?
python setup.py install
用於安裝(通常是第三方),你沒有將開發/編輯/調試自己的包。
對於你自己的東西,你想要得到你的包安裝,然後能夠經常編輯代碼和不必須重新安裝你的包,這正是python setup.py develop
做:安裝包(通常只一個源文件夾),以便您可以在安裝到(虛擬)環境後方便地編輯代碼,並使更改立即生效。
注意,強烈建議使用pip install .
(安裝)和pip install -e .
(開發商安裝),安裝包,直接調用setup.py會做許多依賴錯誤的東西像拉prereleases和不兼容的封裝版本,使打包很難用pip卸載。
從documentation。該develop
不會安裝軟件包,但它會在部署目錄中創建一個.egg-link
回項目源代碼目錄。
所以這就像安裝,而不是複製到site-packages
它增加了一個符號鏈接(.egg-link
充當多平臺符號鏈接)。
這樣你可以編輯源代碼並直接看到更改沒有每次你做一點改變都必須重新安裝。當您是該項目的開發人員時,這非常有用,因此名稱爲develop
。如果你只是安裝別人的包,你應該使用install
另一件事,人們可能會發現有用的時候使用develop
方法是--user
選項安裝沒有sudo。例如:
python setup.py develop --user
,而不是
sudo python setup.py develop
IIUC你不應該在你的系統中「setup.py develop」,這隻有在virtualenv纔有意義。 – dividebyzero
@dividebyzero你的意思是你應該總是使用'python setup.py develop --user',如果我理解正確嗎?另外,你能否使用'python setup.py develop --user'告訴我軟件包的安裝位置?謝謝! –
我認爲'--user'會安裝在您家庭帳戶的目錄中,並且不會影響系統中的其他用戶。 'develop'將鏈接到您的項目源目錄,而不是實際上覆制所有內容。 'develop --user'應該可以,並且也可以在virtualenv中開發。只有對實際系統進行「開發」纔是奇怪的,因爲您可能讓其他用戶在項目源代碼的個人副本中使用指向該項目的東西。 – dividebyzero
埃裏克是正確的。另外有用的知道是'setup.py develop'帶有一個'--uninstall'選項,當你完成黑客入侵時。 – philadams
最後想到的是,在黑客攻擊python軟件包時,另一種「setup.py develop'選項是使用」簡單(但顯式)的路徑修改來正確解析軟件包「[Kenneth Reitz](http:// kennethreitz。 org/repository-structure-and-python /) – philadams
我遇到了一些問題,使用'python setup.py develop'嘗試爲本地開發設置Ceilometer。我結束了爲了使用'PIP安裝-e PATH'(一個的virtualenv內),以避免[經由'easy_install'冒出問題](https://ask.openstack.org/en/question/87376/unable-to -setup-雲高計合發展模式/)。 –