作者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/cn.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