如题,已经在 anaconda 上折腾了不知道多久,我现在已经彻底放弃使用 conda 了,看到一个比较新的包管理器 pdm ,但是 pycharm 现在还不支持,所以就用 virtualenv 了
首先,我的机器是 archlinux ,然后现在还是大二学生,SRTP 项目是机器学习方向的,然后其他比赛也需要用到 numpy, pandas, pytorch 这一堆东西
当我还在用 windows 时,根本不 care 什么虚拟环境,啥包都是无脑装到系统解释器,当时需要的科学计算有关的库,最多就是 numpy,pytorch.matplotlib 这些东西,也没有啥版本要求,直接用最新的版本,用的库也不是很多,这种方法没啥问题
然后主力切换到 linux 后,我发现 linux 的 python 系统解释器很重要,因为它是系统依赖之一,也出现过不规范操作,导致 python 一个解析 JSON 的库出错,然后 pip 依赖这个库,导致 pip 也不能工作,还有一次手贱卸载了一个不知道是干啥用的库,导致有些软件用不了了,从此我只敢在系统解析器安装 requests 这种比较小的库,用来写爬虫,其他都安装到虚拟环境
后来,因为想尝试一下 conda ,所以我安装了 conda ,遇到第一个问题就是,安装后在我的 shell 里没有 conda 这个命令,然后网上找到的教程,他们的 conda 基本都是安装到用户的家,而我安装到 /opt 下的,没法借鉴。后来我从 aur 里发现,打包的人说“为了不污染环境,把 conda 作为一个函数在 shell 中调用,导入这个函数需要执行一个脚本”,然后我把这个脚本加到了~/.zshrc
里,登录就执行一遍,这个问题折腾了几小时
再后来,我发现 conda 安装库老是卡死,先声明,我已经搭建了一个透明代理的环境,网络是不存在问题的,它总是卡在解析依赖的地方,实在不想等
有一次 archlinux 系统更新的时候,archlinux 的包管理器 pacman 检测到/opt/anaconda/...
下面很多头文件冲突了,没法安装系统更新,我在 reddit 找到了类似的问题,解决办法:卸载 conda ,安装系统更新,重新安装 conda 。 代价就是,我的一堆环境全部重新安装。。。
最后一次,也就是一天前,我执行一行代码,从 raw.githubusercontent.com 下载一个 scv 文件,遇到一个问题:ssl 证书不能验证
其实之前我就发现,当我进入 conda 的环境时,使用curl
命令,用的不是系统的 curl,而是/opt/anaconda/bin/curl
命令,然后使用 curl 命令从 raw.githubusercontent.com 下载一个文件时,也出现了同样的问题:ssl 证书不能验证。当时我用/usr/bin/curl
来简单地避开了这个问题
但是,这次 python 代码需要从 raw.githubusercontent.com 下载 csv 文件,没有一个方法能 workaround 掉这个问题,然后我 google 了几小时,大概是"conda ssl", "conda ssl certificate", "conda curl ssl", "conda lack of ssl certificate”,都没有找到这个问题
我尝试过:
都没有 work
所以我再也不想使用 conda 了,浪费了我太多时间在这些没用的地方
最开始考虑使用 docker 管理 python 环境,但是有两个问题
现在作为一个折中,使用 virtualenv ,这个东西好用吗?我想其实也不太好用 因为每次进入都太麻烦了!
大佬们是如何解决的?求指点!
1
RedisMasterNode 2023-05-09 17:48:31 +08:00
如果觉得 virtualenv 比较难用的话,可以试试看 virtualenvwrapper 能不能帮你减少一部分工作量。这个组件我用了 5 年多了,很稳定也很方便,所以一直没去了解过其他的虚拟环境管理工具。
https://virtualenvwrapper.readthedocs.io/en/latest/install.html 本质上是 virtualenv 套皮,可以试试看 |
2
wafm 2023-05-09 17:50:13 +08:00
其实这么多环境里,conda 应该算是门槛低 且 友好的了
前提是 你翻出去了 |
3
vituralfuture OP anaconda 的 ssl 证书文件这个问题,可以复现
步骤: 1. 拉一个 archlinux 的 docker 镜像 2. 安装 aur 里的[anaconda]( https://aur.archlinux.org/packages/anaconda) 3. 进入 conda 主环境`conda activate base` 4. `curl raw.githubusercontent.com `或在 python 中发起 raw.githubusercontent.com 的请求 这种问题,我不确定是 aur 包的问题还是 conda 的问题 |
4
ZedRover 2023-05-09 17:52:12 +08:00
docker 里的 python 解释器应该是能运行图形化界面的,虽然我没用过但是看这个项目的描述 https://github.com/Ed-Yang/vnpy-docker 应该是可以的。 我一般学校和公司里面用 docker 都是直接装上 openssh-server 然后用 vscode remote ssh 进去写代码,vscode 也可以直接 attach 到 devcontainer 里面,远程开发 pycharm 感觉没 vscode 这么方便,只能起新的容器。
|
5
ZedRover 2023-05-09 17:54:39 +08:00 1
@ZedRover docker 还有一个好处可以直接用现成的 cuda 环境,ray stablebaselines3 torch 等官方都有写好的 image ,迁移到新机器上也比较方便,不过还是要依赖宿主机的 nvidia-driver ,所以切换版本也不是特别自由
|
6
XunjieL 2023-05-09 18:03:35 +08:00 1
poetry + pyenv, 折腾很多 python 包管理和环境管理工具了,这两个组合已经完全够我用了,以后不会再变了; pyenv 负责管理和下载多个 python 版本,可以一键切换全局 python 版本;在 pyenv 的基础上,poetry (记得换源)的包管理终于能让我不那么费心 python 项目的部署问题了,缺点可能就是分析依赖的时候略慢( python 第三方包鱼龙混杂导致的),现在速度比前几年好很多了。
|
7
wangmou 2023-05-09 18:09:54 +08:00
conda 搭配代理一直有些七七八八的问题,我都是用国内源,后来就没遇到过这些问题,无论 win 还是 Linux 服务器。
|
8
aphyllan 2023-05-09 18:17:43 +08:00
目前在用 micromamba + conda-forge ,体验真的比 Anaconda 全家桶好太多。
|
9
di94sh 2023-05-09 18:18:43 +08:00
|
10
conn457567 2023-05-09 18:20:38 +08:00 via Android
我也是折腾了好久,换来换去,最后还是用 docker 来完全隔离所有开发环境。简单的可以用 asdf+virtualenv ,系统的 python 解释器完全不动,也不手动安装任何包
|
11
optional 2023-05-09 18:20:52 +08:00 via iPhone
conda 算是比较好用了
|
12
alne 2023-05-09 18:26:12 +08:00
别的领域不知道,机器学习 conda 算是比较好用的了
|
13
Muniesa 2023-05-09 18:37:03 +08:00 via Android
呃,你是用别人打包的 anaconda 吗?建议装官网的 miniconda ,安装时会有写入 bashrc/zshrc 的提示,装到用户目录也不可能和系统的更新冲突,而且没有你那个 curl…
|
14
adoal 2023-05-09 18:42:56 +08:00 1
客户端软件在建立 SSL 连接的时候需要验证对方证书是否在“我认可的”Root CA 链下。这个 Root CA 的列表是储存在本机系统里某个地方的。如果你用的是 Linux 发行版们打包好的软件,通常会改过代码或者编译选项,指定从一个系统默认位置去读。但如果是第三方或者自己编译的,可能软件上游默认并不会去读发行版设置的默认位置,那么 Root CA 列表可能会过时或者缺失。
可以试试这段里提到的 REQUESTS_CA_BUNDLE / CURL_CA_BUNDLE 环境变量 https://requests.readthedocs.io/en/latest/user/advanced/#ssl-cert-verification 把它指到发行版默认的位置去。Arch 我不清楚,deb 系是 /etc/ssl/certs/ca-certificates.crt ,你找找看 Arch 里对应的位置试试看。 |
15
RRRoger 2023-05-09 18:58:42 +08:00
miniconda
|
16
Ricardoo 2023-05-09 19:26:04 +08:00 3
> 后来,因为想尝试一下 conda ,所以我安装了 conda ,遇到第一个问题就是,安装后在我的 shell 里没有 conda 这个命令,然后网上找到的教程,他们的 conda 基本都是安装到用户的家,而我安装到 /opt 下的,没法借鉴。后来我从 aur 里发现,打包的人说“为了不污染环境,把 conda 作为一个函数在 shell 中调用,导入这个函数需要执行一个脚本”,然后我把这个脚本加到了~/.zshrc 里,登录就执行一遍,这个问题折腾了几小时
下载官方原版, 安装结束会询问你是否将命令写入 bashrc ,选择 yes ,重启 terminal 即可。 > 再后来,我发现 conda 安装库老是卡死,先声明,我已经搭建了一个透明代理的环境,网络是不存在问题的,它总是卡在解析依赖的地方,实在不想等。 conda 安装前会检测环境各种包的依赖关系,如果 混合使用 pip 和 conda 安装包 会导致提示 The environment is inconsistent 。依赖解析会非常非常慢,甚至卡死。建议新建的环境里仅使用 conda install 或 pip 安装。保持环境干净 > 有一次 archlinux 系统更新的时候,archlinux 的包管理器 pacman 检测到 /opt/anaconda/...下面很多头文件冲突了,没法安装系统更新,我在 reddit 找到了类似的问题,解决办法:卸载 conda ,安装系统更新,重新安装 conda 。 代价就是,我的一堆环境全部重新安装。。。 请不要使用 aur 安装 anaconda ,下载官方原版,手动安装。 > 使用 curl 命令,用的不是系统的 curl,而是 /opt/anaconda/bin/curl 命令 当你使用 base 环境的时候默认调用的是 anaconda 的 curl , 1.可以重命名的方法规避系统使用它,mv /opt/anaconda/bin/curl /opt/anaconda/bin/curl1 ; 2.使用 conda 新建环境,在新环境里不会使用 base 环境里的 curl 额外说一句:conda 新建环境并激活后,是将新环境的 bin 目录加载 PATH 路径前面,以此覆盖同名指令。只要这个原理可以帮你排查大部分指令调用的问题。 conda 几乎是 ML 领域最优雅的管理环境的工具。建议多看看官方文档。 |
17
vituralfuture OP @Muniesa 对的,我用的是 aur 源里的 anaconda ,是别人打包好的,用 aur 的原因主要是 archlinux 官方源里只有 free and open source software ,要装其他软件得去 aur 里,用 aur 的好处是更新方便。我试试装到用户目录
至于 curl ,这东西我都无法理解为什么 anaconda 安装目录下会有这东西 连 ssl 证书都有 |
18
Trim21 2023-05-09 19:34:40 +08:00
有些包 conda 有预编译的 wheel ,pip 没有,用 conda 安装不需要自己解决编译问题。
|
19
nah 2023-05-09 19:38:40 +08:00
anaconda 的缺点是臃肿,换 miniconda 之类的吧。
|
20
jZEdn7k4 2023-05-09 19:40:44 +08:00
但机器学习确实主流就是 conda 。。。如果 conda 用不明白的话其他虚拟环境带来的问题只会更多
|
21
vituralfuture OP @Ricardoo 谢谢谢谢
第一个问题,这确实是,还是应该去用官方的,aur 用习惯了 ,里面有些包不太好用确实比较正常,毕竟不保证可用 第二个问题,这个还是我孤陋寡闻了,我之前模模糊糊地有这个想法,就是 conda 和 pip 不能混用,后面我看到老师演示安装包的时候直接 pip ,我还很震惊,问了他,他说可以,然后后面有一个项目用到的库 conda 没有,无奈用 pip 安装了,难怪会卡在解析依赖这一步 似乎我使用 conda 遇到的很多问题似乎都是 aur 的包的问题 我使用 conda 的方式还是不对,确实该多读读文档,RTFD |
22
knightdf 2023-05-09 19:49:30 +08:00
就 virtualenv+virtualenvwrapper 吧,最简单好用
|
23
BBCCBB 2023-05-09 19:53:02 +08:00
还是好好学 conda 吧, 至少你得看看他的入门教程和文档..
|
24
0o0O0o0O0o 2023-05-09 19:57:28 +08:00 via iPhone
devcontainers
|
25
iorilu 2023-05-09 19:59:01 +08:00 via Android
我觉得 miniconda 很好,其他的可能问题更多
|
26
levelworm 2023-05-09 20:04:40 +08:00 via Android
Pycharm 基本上都自动化了
|
27
SJ2050cn 2023-05-09 20:08:47 +08:00
不只针对 Python 环境,超算上一般都用 module 来管理各种软件,系统环境都是很纯净的,要用哪个软件适时加载。
|
28
Corey0606 2023-05-09 20:11:26 +08:00 via iPhone
配好多个版本环境的环境变量 虚拟环境也挺香
|
29
Muniesa 2023-05-09 20:16:17 +08:00 via Android
@vituralfuture 有 curl 是因为 conda 不仅仅是 Python 的包管理器,gcc 什么的都可以通过 conda 装,curl 应该是 anaconda 预装的一堆包里的一个
|
30
morton098 2023-05-09 20:16:21 +08:00
现在用的 poetry
|
31
pipecat 2023-05-09 20:19:19 +08:00
同使用 micro-mamba 。解析速度对比 conda 提升非常明显,conda 命令无缝切换,推荐尝试。
|
32
ryan4yin 2023-05-09 20:21:33 +08:00 via Android
建议用 docker ,这本质是一个环境冲突问题。
|
33
ulosggs 2023-05-09 20:22:43 +08:00 3
用 conda 注意以下三点,几乎不会出现问题
1. 下载官网的 Miniconda , 安装到用户目录 2. 只要能用 conda 安装的包都用 conda 安装,避免使用 pip 。尤其是基础包 3. 使用 conda activate/deactivate 切换环境,不要手动设置 PATH ,LD_LIBRARY_PATH 然后 resolving 慢的问题,可以使用 libmamba ,解析依赖速度飞快 conda install -n base conda-libmamba-solver conda config --set solver libmamba |
34
14 2023-05-09 20:37:51 +08:00
我也是 pyenv + poetry
|
35
coolair 2023-05-09 20:38:39 +08:00
@ulosggs 请问下大佬,用 conda 从 requirements.txt 安装包,从没有成功过是为啥?谢谢。
报错如下: > conda install --yes --file requirements.txt Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. PackagesNotFoundError: The following packages are not available from current channels: - gradio==3.28.3 - icetk - cpm_kernels - layoutparser - transformers==4.27.1 - unstructured - faiss-cpu - peft - langchain==0.0.146 - fastapi - sentence-transformers - accelerate Current channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/win-64 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/noarch - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/win-64 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/noarch To search for alternate channels that may provide the conda package you're looking for, navigate to https://anaconda.org and use the search bar at the top of the page. |
36
pljhonglu 2023-05-09 20:42:03 +08:00
用了 [rtx]( https://github.com/jdxcode/rtx) 之后就丢掉了 pyenv 、nvm 、rbenv 。
|
37
lululau 2023-05-09 20:53:52 +08:00
有管理不同版本 Intepreters/Packages 的需求的话,就别用 Python 了,感觉 virtualenv/anaconda/pyenv/pipenv/poetry 这些工具对于 Python 开发者来说太复杂了,Python 要的就是一个简单
|
38
ospider 2023-05-09 20:56:16 +08:00 1
你这明明是墙的问题,赖到 conda 头上……
|
39
swhhaa 2023-05-09 20:59:19 +08:00
我用 poetry + pyenv.... 说实话确实感觉挺复杂的
|
40
sunrisewestern 2023-05-09 22:42:52 +08:00
老老实实 conda 官方教程装一遍,上面的问题基本解决了。
solver 可以换成 libmamba ,也有官方文档的说明。 项目使用非 base 环境,不同项目不同环境,能减少包安装解析的压力,也能规避 curl 的问题 |
41
ispinfx 2023-05-09 22:54:13 +08:00
都用 Python 了,还要什么自行车呢
|
42
paopjian 2023-05-09 23:26:12 +08:00
感觉所有的问题都是不看官方文档,也不用官方发布包...
|
43
cy18 2023-05-09 23:39:49 +08:00 1
就我一个人用 pipenv 的么...
我现在简单命令用 MSYS2/Linux 自带,数据分析处理相关的 Anaconda ,程序开发就用 pipenv 。 |
45
chesha1 2023-05-09 23:51:31 +08:00
conda 已经算好用的了,你原来在 Windows 下不在意环境直接硬装,如果要用两个版本的 pytorch ,那怎么办呢
1. 你发现环境装错了,卸载掉原来的,在用户目录下重新装一个不就好了,为什么要折腾自己 不管是用 anaconda 还是 miniconda 还是别的,默认就是装在用户目录的吧,你想装到别的地方反而要手动指定目录,挺奇怪的 2. 卡在解析依赖,可能是你用了 conda install xxx ,用 pip install xxx 就没这个问题了 3. 用 docker 只会比 conda 更麻烦,我唯一知道必须要用 docker 的地方是,nv 的新显卡对于 pytorch 有优化,比如 4090 ,不用 nv 的容器,用 pytorch 官方的 pytorch 性能会下降,不知道 pytorch 官方什么时候才能更新就先用 nv 维护的 pytorch |
46
xdygxh 2023-05-09 23:58:09 +08:00
conda 还难用的话,其他的虚拟环境管理工具只会更难用。
|
47
dayeye2006199 2023-05-10 00:47:56 +08:00
virtualenv 把,如果你需要管理多 cuda 版本之类的活的话。
否则还是 conda 用的更无脑一些。 |
48
inframe 2023-05-10 01:37:41 +08:00
conda 可以管大版本 3.8 ,3.9 ,3.10 ;
也可以自己下源代码自己编译下,然后单独 virtualenv 拉虚拟环境;在 Windows 上就这么玩的,集齐了官方 Cython 3.7-3.10 virtualenv 管项目,一个项目开一个虚拟包; |
49
XIVN1987 2023-05-10 09:06:57 +08:00
我也觉得 windows 下使用 python 更简单,,
因为 windows 本身完全不依赖 python ,,所以 windows 下可以随意更新 python 、python 包而不用担心导致系统崩溃。。 |
50
jakehu 2023-05-10 09:15:29 +08:00
pyenv
|
51
tach1koma 2023-05-10 09:19:52 +08:00
miniconda 只用来管理环境,每个环境里用 pip 管理包
|
52
guoli100 2023-05-10 09:39:21 +08:00
pyenv
|
53
mogazheng 2023-05-10 09:41:20 +08:00
墙的问题,至少你这个 github 域名的问题就是。
命令行环境要设置 http_proxy 环境变量墙才能生效, 可以 curl 验证下。 然后老实安装官方的 conda 。 整完后基本上不会有什么正常使用的问题。 不要轻易怀疑一个能流行起来的东西,难道大家都是忍着在用的吗。 |
54
mingwiki 2023-05-10 11:22:34 +08:00
python3 已经集成了 venv 通过 python3 -m venv .使用 不用安装任何东西非常方便 https://www.liaoxuefeng.com/wiki/1016959663602400/1019273143120480
|
56
cherryas 2023-05-10 11:48:28 +08:00
原生 Python venv 不好吗?
|
58
iorilu 2023-05-10 12:52:35 +08:00 via Android
@cherryas 两码事,conda 可以指定不同版本 python ,比如一个项目用 3.6 一个项目用 3.10
|
59
crsmk01 2023-05-10 13:32:20 +08:00
miniconda
|
60
dcoder 2023-05-10 13:36:06 +08:00
conda 都难用... 那 docker + remote debugger 不得更难用...
conda 要用的话, 要求一整套都得用它的, 你好好看看文档. 还有, 看看翻墙的 VPN 是不是太慢 |
61
dif 2023-05-10 13:47:15 +08:00
目前用的 miniconda ,配置国内源还好吧,没出现过你说的问题。
|
62
lambdaq 2023-05-10 14:00:06 +08:00
这既不是 conda 的问题,也不是 curl 的问题,而是 linux 下 TLS 本来就很难用的问题。。。。。
|
63
liudaolunhuibl 2023-05-10 14:04:45 +08:00
我也有同样的感觉,实际上感觉用了一圈下来还是没有能超越 java maven 的
另外 lz 好厉害啊,我大二的时候还在玩人机 |
64
MasterCai 2023-05-10 14:32:38 +08:00 via iPhone
conda 确实不好用,想迁移一下环境一大堆问题
但是好像也没有比更好用同时这么流行的包管理器了(至少是在 ml 领域是这样的) |
69
charseer 2023-05-10 15:38:08 +08:00
之前很流行的 Vagrant 现在怎么没人提了,感觉很适合管理这些
|
71
nyxsonsleep 2023-05-10 16:35:21 +08:00
@vituralfuture anaconda 里,要么全用 conda 要么全用 pip ,通常都是全用 pip ,conda 只收录部分库。两个是不能混用的,很明显的就是 pip list 不显示 conda 安装的库,反之 conda list 也不显示 pip 的安装的库。
|
72
coreki 2023-05-10 16:45:13 +08:00
virtualenv+pip 路过,轻量,大的项目就 docker 打包
|
74
linvaux 2023-05-10 17:25:09 +08:00
miniconda 吧,conda 确实太笨重了,而且加载也很慢
|
75
KouYiGuo 2023-05-10 17:40:05 +08:00
poertry
|
76
KouYiGuo 2023-05-10 17:40:23 +08:00
poetry
|
77
way2explore2 2023-05-10 18:10:26 +08:00 via Android
|
78
iorilu 2023-05-10 18:49:33 +08:00
@cherryas 原始 python 你装多个要指定路径得把
难度你创建 venv 要这样 /usr/bin/python venv venv /usr/bin/python2 venv venv 不方便啊 |
79
alne 2023-05-11 00:35:08 +08:00
@nyxsonsleep #71 conda list 是可以显示 pip 装的库的啊,反之不行。
不过有时候更新 conda 会把 pip 装的库给删掉,不知道什么情况 |
80
VonBrank 2023-05-11 05:34:40 +08:00 via Android
@liudaolunhuibl 楼主的经历好真实,我用 conda 也是这感觉
不过对我来说更希望的是 Python 有类似 cargo 或者 npm/yarn 的包管理器。当然 maven/gradle 也挺好 |
82
jeremyl313 2023-05-11 09:55:07 +08:00
@XunjieL 这里居然也能逮到你
|
83
jeremyl313 2023-05-11 09:57:19 +08:00
已经习惯 conda 里面用 pip 了,不过经常 pip 安装包失败,就比如 lap ,pycocotools ,都要本地编译,conda-forge 都有现成的 wheel
|
84
XunjieL 2023-05-11 10:29:40 +08:00
@air00dd hhhhh 我一般能用国内镜像就尽量用,从物理距离上那还是国内快一些,比如 golang, pip, apt, 一般遇到了速度瓶颈我才会显式调用代理,这样在处理一些莫名其妙网络 bug 的时候不需要考虑代理因素; 但确实有因为国内源导致的 bug, 比如更新不及时导致的版本 bug
|
85
XunjieL 2023-05-11 10:30:26 +08:00
@jeremyl313 完了 被发现上班摸鱼了
|
86
lhb5883 2023-05-11 11:09:50 +08:00
正常 不想折腾可以看看有没有好心人做了 Docker 镜像。
|
87
lyz1990 2023-05-11 11:42:53 +08:00
目前在用 miniconda , 感觉还行
|
88
limaofeng 2023-05-12 10:00:55 +08:00
如果已经用 docker 了,conda 就有些多余了
最近在主力 Mac 电脑上,用 conda 替换 virtualenv 了,virtualenv 只支持 python 。conda 的适用面要广些 |
89
zyxbcde 2023-05-16 00:53:11 +08:00 via iPhone
一般都是一个项目一个虚拟环境,用 pycharm 几乎傻瓜操作了。不过因为单位 nodejs 版本过低,用了 pyenv 把默认 python 切成 3.10 了,然后还安了 3.11
|
90
qcts33 2023-07-17 17:21:42 +08:00
这么多天了才偶然看到这个帖子
我这边推荐尝试一下 mambaforge ,这是由 conda-forge 社区提供的,算是一个变种的 miniconda ,但是用 conda-forge channel 替代了 anaconda 的官方 channel ,另外还添加了 mamba 来解决 conda 包解析迟钝的问题。 楼主做机器学习方向的话还是坚持用基于 conda 的生态会比较好,pip 安装 numpy 和 scipy 的时候要跟 BLAS 和 LAPACK 做绑定会比较麻烦 |
91
coreJK 170 天前
个人的实践:
1. pyenv 管理多版本 python 2. pipx 管理 python 构建的应用程序(比如 PDM 自己) 3. pdm 管理项目的依赖,构建发布内容 其他特殊的设备上,就还是用原生的 venv 去管理, build 去构建二进制文件吧 |