我正在测试一些机器学习的代码,这个仓库依赖了多个 pip 包,当前使用 conda 管理环境,但我使用 conda 安装环境后发现一堆错误,解决了 A 错误后又出现 B 错误,然后无穷无尽,为了将代码跑起来,配环境这一步就换了几十个小时还是没搞定? 是什么因素导致 python 的包管理如此复杂和杂乱的呢?
1
DogLucky 2023-04-25 01:17:40 +08:00
python 的包应该还是比较好管理的吧
|
2
thinkershare OP @DogLucky 曾经,当我没有运行机器学习的代码的时候也是这么天真的认为的。
|
3
hsfzxjy 2023-04-25 01:27:03 +08:00 via Android 1
ml 装包老麻烦了,不妨说说是什么包,让我看看
|
4
thinkershare OP @hsfzxjy 我需要使用的多个包相互冲突,因此 python 的版本必须被固定为 3.7,然后需要使用 pytorch 的一系列包和 mayavi ,Windows/macOS/Linux 都需要支持,然后就出了各种诡异错误。
|
5
thinkershare OP @hsfzxjy 最离谱的是 conda 竟然会给我安装一堆错误的依赖,然后要我手动卸载掉,重写用 pip 安装正确的版本,搞得我心态有点爆炸。
|
6
thinkershare OP @hsfzxjy 在我坚持奋斗了很多个小时后,就在刚刚,终于全部搞定了。真的有点无语,感觉这个包管理器就是一坨狗屎。
|
7
V2Micheal 2023-04-25 03:12:44 +08:00 via Android
同感,之前搞深度学习也是环境配了好久好久,版本一直对不上
|
8
hsfzxjy 2023-04-25 03:17:45 +08:00 via Android
ml 的包有很多二进制文件,存在特定的平台 /硬件 /时间版本依赖。我是能用 docker 就用 docker
|
9
halberd 2023-04-25 03:42:44 +08:00 via Android 1
只用 conda 当作虚拟环境管理器,放弃了包管理功能。
包装多了之后 conda 分析依赖慢到死,绝大部分包优先维护 pip ,conda 和 pip 混用偶尔会出事,所以我现在只用 pip 装包。 |
10
halberd 2023-04-25 03:49:52 +08:00 via Android
而且 conda 的 base 环境尽量少装东西,否则等更新 conda 版本的时候就会后悔了...
|
11
fox0001 2023-04-25 09:16:03 +08:00 via Android
我建议上 docker
|
12
thinkershare OP @halberd conda 安装包,真的是慢的离谱,慢就算了,它还会安装错误,同样的固定版本的包,在 win/mac/linux 竟然只有一个平台可用跑。
|
13
coolair 2023-04-25 09:46:33 +08:00
我一直觉得 conda 是真难用……
|
14
thinkershare OP @fox0001 我这个玩意有 UI , 没法用 docker. 而且 CUDA 使用 docker 问题太多,我之前尝试过。后来放弃了,不是你想用就能用的,一堆第三方 C++的 CUDA 依赖项目。
|
15
sadfQED2 2023-04-25 10:13:24 +08:00 via Android
最近几年机器学习的包已经好装很多了。大概 15 年左右,当时我为了安装一个 caffe 环境,花了半个多月的时候捣鼓各种编译问题。当时大部分 ml 库都只能手动编译,根本没有预编译好的。
现在的问题大部分都是版本不匹配,网上一搜就知道咋回事了。 |
16
thinkershare OP @sadfQED2 你说的这种项目估计是很通用的,很多人使用。我跑的项目是 Research 型的,没几个人用,如果搜索引擎能解决,我就不会上来提问了。
|