作者st1009 (前端攻城師)
看板Python
標題[問題] miniconda torch 版本控管
時間Fri Aug 21 00:08:40 2020
大家好,
情況是這樣的,我用miniconda建立了兩個虛擬環境。
這兩個環境分別需要torch 1.4.0和1.6.0
我使用 pip install 安裝,但我發現我兩個虛擬環境的torch是共通的。
當我下載了 1.6.0 另一個環境的1.4.0就會消失,變成抓不到torch。
不知道有沒有人有遇到相似的問題?
我有試過 pip install -I --user torch==1.4.0 但似乎沒有用...
請問要如何解決?
--
半壁河山半攻守
半爭成敗半悟道
許銀川
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.154.24 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1597939724.A.D42.html
※ 編輯: st1009 (1.163.154.24 臺灣), 08/21/2020 00:21:46
1F:推 TitanEric: 分別在兩個環境裝不同版本的pytorch 不確定你現在是怎 08/21 00:49
2F:→ TitanEric: 樣處理? 08/21 00:49
3F:→ gmccntzx1: 你有先打 conda activate [ENV_NAME] 嗎? 08/21 01:03
有的,我是在linux 的環境,分別開不同的 conda
Terminal顯示類似下面這樣(我也有試過用--user不過也沒用)
(espnet) ID@server1 /path $ pip install torch==1.4.0
(new_env) ID@server2 /path $ pip install torch==1.6.0
4F:推 roccqqck: conda版本更新試試 ~/.bashrc環境變數刪掉重設 08/21 12:24
我的conda 剛裝一個月的說,不過試看看,我環境完全爆了,
python3 -m pip list 是1.6.0
python3 直接執行是1.4.0 到底....
5F:→ roccqqck: 你應該有export某路徑出來 08/21 12:31
6F:→ roccqqck: 試著用絕對路徑執行pip試試 08/21 12:31
7F:推 TuCH: python -m pip install 可能比較安全 08/21 12:36
8F:→ TuCH: 看起來是pip 的環境變數跑掉了 08/21 12:37
我用python3 -m pip install torch ==1.6.0 會告訴我已經裝好了
不過執行python3 還是會用1.4.0,我來研究一下路徑問題...
.local/lib/python3.7/site-packages (from torch==1.6.0) (1.19.1)
路徑上感覺穩穩的放在3.7啊....
我好像知道徹底錯亂的原因了
我之前在espnet的conda 下過pip install -I --user torch==1.4.0
現在~/.local/lib/python3.7/site-packages存在3個torch
分別為 torch torch-1.4.0.dist-info torch-1.6.0.dist-info
而torch指向1.4.0 應該都砍掉重裝就好吧....
看來最大的問題還是,為啥conda虛擬環境會共用套件....
9F:推 TuCH: 不要python3 打python就好了 你好像根本沒有吃到conda環境 08/21 13:16
10F:→ TuCH: 環境應該會在./miniconda/envs/your_env/ 裡面.. 08/21 13:18
對,我剛剛檢查發現套件都不在miniconda裡... 正在懷疑是不是不能用pip...
我先試看看在環境下用python -m pip 裝看看
試過了,好像用 python 就會進去miniconda了!
看來現在問題應該是如何讓python3會進去miniconda,
因為我的套件內部都是寫python3...
11F:推 TuCH: 把環境變數的/.local/lib/python3.7拿掉 08/21 13:24
好,我看看
12F:推 TuCH: 不過我還是私心建議還是把python3 改成 python 08/21 13:27
那樣要改的太多.... 我正在考慮跑程式時,初始腳本寫個alias
不過還要先觀察一下現況
微妙,他好像自己正常了,看不出哪個步驟起了關鍵作用,
總之torch版本看起來成功分開了,現在用python3下指令也可以了
測試了一下,看起來真的成功了/.local/lib/python3.7不用拿掉。
我猜問題的關鍵可能是原始非conda環境的python3裡面有沒有torch
似乎他是先抓這個,如果抓不到,再去conda裡面抓torch。
看來以後我的torch以後都只能用conda跑了...
總之在這裡謝謝大家的協助與指導 <(_ _)>
※ 編輯: st1009 (1.163.154.24 臺灣), 08/21/2020 13:46:28
13F:推 TuCH: 最好還是要搞懂到底發生什麼事 不然如果環境要重設就壞了 08/21 14:51
14F:→ TuCH: 嘗試create一個新的環境 所有東西全部重裝一次看有沒有問題 08/21 14:52
15F:→ st1009: 好,我晚上試看看 08/21 15:01
16F:推 roccqqck: which pip 08/21 18:41
17F:→ roccqqck: which python 08/21 18:41
18F:→ roccqqck: which python3 08/21 18:41
19F:→ roccqqck: 或用whereis 08/21 18:41
之前是whereis跑,因為不知道有which,感覺which的結果對於現在的狀況更清晰。
※ 編輯: st1009 (1.163.154.24 臺灣), 08/21/2020 18:49:41