
Python
定位有所差异。venv仅仅是为单个项目隔出一个环境,要是想进行包管理、打包就得自己想办法。要是venv加pip就能符合你的需求,并且你不需要打包或者打算直接使用docker,那就没必要使用其他工具了。conda是创建全局虚拟环境的,并非置于项目文件夹内,其优势在于切换项目时能够使用之前配置好的环境。而且它还自带一个对数据科学比较友好的包管理器,除了
Python还有其他依赖项。pipx是用来安装命令行工具的,也就是说针对那些你不太会在程序里导入,而是在命令行中使用的库,像mypy、ansible之类的。poetry、pdm、uv兼具隔离环境、包管理和打包功能,适合长时间开发、需要部署的项目,例如后端项目。poetry的资历更老,pdm支持标准化的pyproject.toml,uv据说速度更快并且内置了pipx的功能,不过它比较新,可能存在一些问题。具体如何选择要看实际需求了。