[爆卦]git下載是什麼?優點缺點精華區懶人包

為什麼這篇git下載鄉民發文收入到精華區:因為在git下載這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者uranusjr (←這人是超級笨蛋)看板Python標題Re: [問題] github下載pa...


※ 引述《BeAnActuary (Actuary)》之銘言:
uranusjr: 先解釋一下你所謂「安裝」是什麼意思; 你想要繼續開發這 02/05 16:10
uranusjr: 個專案本身嗎?還是你想在別的專案裡使用這個專案的程式 02/05 16:10
uranusjr: 碼?還是這個專案本身是一個完整的工具 (像 git 這樣), 02/05 16:11
uranusjr: 你要直接把它拿來在 command line 之類的地方使用? 02/05 16:12

: 謝謝指正,這個專案本身就是一個完整的工具,我只是想要直接使用它並作一些數據測試
: 我以為install就是意指安裝...

Install 是安裝沒錯
但是因為 Python 本身就有太多種用法
所以「安裝一個套件」可以代表很多種意思, 每種用法有自己的最佳解

回到你的問題, 看起來這主要有兩種解法, 都是用 Pip

1. pip install

看你的描述, 這個工具並沒有被放上 PyPI
但是 Pip 支援直接從 Git 安裝, 所以你可以

pip install git+https://github.com/author/repo.git#egg=套件名

注意最後面的 #egg=... 部分
這會被 Pip 用來為這個套件取名
通常你可以看 setup.py 裡面的 name 參數, 用一樣的就好

這樣的缺點是沒辦法使用 Pip 的更新功能
因為它自己不知道套件有沒有更新, 也不懂要怎麼用 Git 更新
當你發現有新版本時, 只能重新安裝一次

pip install --ignore-installed git+...後面一樣

2. pip install --editable

Pip 同時也支援 out-of-site 安裝
這個模式可以讓你把任意本地路徑的套件裝到 Python 裡

git clone https://github.com/author/repo.git 專案目錄
pip install --editable 專案目錄

這會讓 Python 能夠直接使用你 clone 下來的那個目錄, 而不另外裝一份
(類似捷徑的概念, 不是拷貝一份, 而是連結到這裡)
所以當你要更新時, 直接在專案目錄裡 git pull, 就能在 Python 用到新版本
缺點是你自己要記得這件事情, 不要不小心把 clone 下來的東西刪了


===========


順帶講一下, 這年頭如果你不需要開發 Python 套件, 只需要「使用」套件
那麼應該不會直接用到 setup.py (其實開發的時候也不太需要, 這是別話)
Pip 應該可以滿足你所有的安裝需求
如果套件沒辦法正確用 Pip 安裝, 就應該回報作者
如果作者不修復, 這個套件的狀態大概也很危險
要嘛是根本沒人用, 要嘛是作者根本放生 (通常好像也是同一件事)
那你用下去了大概也是遲早要出事, 早點跳船才是上策



--


"問おう、貴方が私のマスターか?"

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.94.62
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1517821461.A.891.html
aszx4510: 感謝教學,學到一課。 02/06 01:08
BeAnActuary: 第一種方法被要求要輸入使用者帳號及密碼(應該是開發 02/06 14:50
BeAnActuary: 者的資訊才能下載~) 02/06 14:50
BeAnActuary: 方法2 試驗成功 謝謝詳細的教學 好多東西要學啊~ 02/06 15:02

你可能也想看看

搜尋相關網站