安装 Python 包的正确姿势是什么?

2023-04-25 01:13:59 +08:00
 thinkershare

我正在测试一些机器学习的代码,这个仓库依赖了多个 pip 包,当前使用 conda 管理环境,但我使用 conda 安装环境后发现一堆错误,解决了 A 错误后又出现 B 错误,然后无穷无尽,为了将代码跑起来,配环境这一步就换了几十个小时还是没搞定? 是什么因素导致 python 的包管理如此复杂和杂乱的呢?

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

现在的问题大部分都是版本不匹配,网上一搜就知道咋回事了。
thinkershare
2023-04-25 10:31:59 +08:00
@sadfQED2 你说的这种项目估计是很通用的,很多人使用。我跑的项目是 Research 型的,没几个人用,如果搜索引擎能解决,我就不会上来提问了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/935207

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX