如题,已经在 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 ![]() @ZedRover docker 还有一个好处可以直接用现成的 cuda 环境,ray stablebaselines3 torch 等官方都有写好的 image ,迁移到新机器上也比较方便,不过还是要依赖宿主机的 nvidia-driver ,所以切换版本也不是特别自由 |
6 XunjieL 2023-05-09 18:03:35 +08:00 ![]() 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 ![]() 客户端软件在建立 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 ![]() > 后来,因为想尝试一下 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 ![]() 用 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 4BVL25L90W260T9U 2023-05-09 20:56:16 +08:00 ![]() 你这明明是墙的问题,赖到 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 ![]() 就我一个人用 pipenv 的么... 我现在简单命令用 MSYS2/Linux 自带,数据分析处理相关的 Anaconda ,程序开发就用 pipenv 。 |
45 FlashEcho 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 2024-07-10 19:22:35 +08:00 个人的实践: 1. pyenv 管理多版本 python 2. pipx 管理 python 构建的应用程序(比如 PDM 自己) 3. pdm 管理项目的依赖,构建发布内容 其他特殊的设备上,就还是用原生的 venv 去管理, build 去构建二进制文件吧 |