[英]Installing specific package versions with pip from git private repo
[英]pip installing from git vs cloning repo
我做了什么。
按照說明,我安裝了torchdiffeq包
pip install git+https://github.com/rtqichen/torchdiffeq
我缺少什么。
但這並沒有克隆存儲庫,特別是examples
子目錄中的ode_demo.py
。
可能不是正確的解決方案。
如果我克隆 repo 以獲取此examples
子目錄,那么我還將擁有torchdiffeq
子目錄的另一個副本,我現在已經安裝了它(它位於~/.pyenv/versions/torchdiffeq/lib/python3.7/site-packages/torchdiffeq
)。
這似乎不是做事的正確方式。
“可編輯模式”的正確解決方案?
我閱讀了有關可編輯安裝的信息,但不確定這是否與我的問題有關(以及什么是“雞蛋” ?)。
了解安裝過程。
它是否只是查看setup.py
文件,因此只將torchdiffeq
和torchdiffeq._impl
添加到包列表中(在這里我達到了我對setuptools.setup()
功能的理解的極限)? 換句話說,這是否告訴我它忽略了回購協議的其余部分?
最后一句話。 git install
命令說:
Cloning https://github.com/rtqichen/torchdiffeq to /private/var/folders/sx/n_vsjpb907g774qmgxzmtv9r0000gn/T/pip-req-build-0uckfck8
后者是一個臨時文件,安裝完成后似乎已被刪除,因此我無法查看整個 repo 是否曾在那里傳輸。
pip確實像您在問題結束時所說的那樣克隆了git存儲庫。 它被克隆到一個臨時目錄中。 pip然后使用這個臨時文件來構建 Python 項目並將其安裝到您當前的環境中。 完成此操作后,包含克隆存儲庫的臨時目錄已被刪除。
目錄torchdiffeq
和torchdiffeq._impl
被聲明為這個項目的包(列在setup.py
setuptools.setup()
函數調用的packages
參數的參數中)並且意味着實際安裝。 其他目錄不打算安裝,所以pip沒有安裝它們。
如果您想使用這些示例,那么您可以保留自己的git存儲庫克隆,並針對已安裝的項目版本使用它們。 除非你想修改項目本身的代碼,否則使用可編輯模式沒有多大意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.