[問題] miniconda torch 版本控管

看板Python作者 (前端攻城師)時間3年前 (2020/08/21 00:08), 3年前編輯推噓8(8011)
留言19則, 5人參與, 3年前最新討論串1/1
大家好, 情況是這樣的,我用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://www.ptt.cc/bbs/Python/M.1597939724.A.D42.html ※ 編輯: st1009 (1.163.154.24 臺灣), 08/21/2020 00:21:46

08/21 00:49, 3年前 , 1F
分別在兩個環境裝不同版本的pytorch 不確定你現在是怎
08/21 00:49, 1F

08/21 00:49, 3年前 , 2F
樣處理?
08/21 00:49, 2F

08/21 01:03, 3年前 , 3F
你有先打 conda activate [ENV_NAME] 嗎?
08/21 01:03, 3F
有的,我是在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

08/21 12:24, 3年前 , 4F
conda版本更新試試 ~/.bashrc環境變數刪掉重設
08/21 12:24, 4F
我的conda 剛裝一個月的說,不過試看看,我環境完全爆了, python3 -m pip list 是1.6.0 python3 直接執行是1.4.0 到底....

08/21 12:31, 3年前 , 5F
你應該有export某路徑出來
08/21 12:31, 5F

08/21 12:31, 3年前 , 6F
試著用絕對路徑執行pip試試
08/21 12:31, 6F

08/21 12:36, 3年前 , 7F
python -m pip install 可能比較安全
08/21 12:36, 7F

08/21 12:37, 3年前 , 8F
看起來是pip 的環境變數跑掉了
08/21 12:37, 8F
我用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虛擬環境會共用套件....

08/21 13:16, 3年前 , 9F
不要python3 打python就好了 你好像根本沒有吃到conda環境
08/21 13:16, 9F

08/21 13:18, 3年前 , 10F
環境應該會在./miniconda/envs/your_env/ 裡面..
08/21 13:18, 10F
對,我剛剛檢查發現套件都不在miniconda裡... 正在懷疑是不是不能用pip... 我先試看看在環境下用python -m pip 裝看看 試過了,好像用 python 就會進去miniconda了! 看來現在問題應該是如何讓python3會進去miniconda, 因為我的套件內部都是寫python3...

08/21 13:24, 3年前 , 11F
把環境變數的/.local/lib/python3.7拿掉
08/21 13:24, 11F
好,我看看

08/21 13:27, 3年前 , 12F
不過我還是私心建議還是把python3 改成 python
08/21 13:27, 12F
那樣要改的太多.... 我正在考慮跑程式時,初始腳本寫個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

08/21 14:51, 3年前 , 13F
最好還是要搞懂到底發生什麼事 不然如果環境要重設就壞了
08/21 14:51, 13F

08/21 14:52, 3年前 , 14F
嘗試create一個新的環境 所有東西全部重裝一次看有沒有問題
08/21 14:52, 14F

08/21 15:01, 3年前 , 15F
好,我晚上試看看
08/21 15:01, 15F

08/21 18:41, 3年前 , 16F
which pip
08/21 18:41, 16F

08/21 18:41, 3年前 , 17F
which python
08/21 18:41, 17F

08/21 18:41, 3年前 , 18F
which python3
08/21 18:41, 18F

08/21 18:41, 3年前 , 19F
或用whereis
08/21 18:41, 19F
之前是whereis跑,因為不知道有which,感覺which的結果對於現在的狀況更清晰。 ※ 編輯: st1009 (1.163.154.24 臺灣), 08/21/2020 18:49:41
文章代碼(AID): #1VFg0Cr2 (Python)