当前位置:首页 » 《随便一记》 » 正文

PyCharm 中 Python 解释器如何选择

3 人参与  2024年11月17日 19:21  分类 : 《随便一记》  评论

点击全文阅读


在使用 PyCharm 或其他 Python 开发环境时,选择合适的 Python 解释器对于项目的开发非常重要。关系到包的管理,项目文件的大小。
本文分析几种常见 Python 环境管理工具(venvcondapipenvpoetry env)的优缺点。

经过对比尝试后,个人比较推荐用 conda 环境作为学习研究,他自带数据分析相关的包,但过于臃肿,建议用 venv 作为实际项目搭建环境,更加简洁直观,易于管理与发布。

如何设置 python 解释器

设置-python 解释器-选择核实的解释器。

image.png

image.png

image.png

各环境优缺点分析

1. venv (Virtual Environment)

优点:

轻量级venv 是 Python 自带的一个模块,不需要额外安装。

简单易用:创建和管理虚拟环境非常直观。

广泛支持:几乎所有现代的 Python 版本都支持 venv

缺点:

功能有限:相比其他工具,venv 的功能较为基础,缺少一些高级特性。

依赖管理:依赖项管理主要通过 requirements.txt 文件,不如 pipenv 和  poetry` 那样灵活和强大。

2. conda

优点:

跨平台:支持 Windows、macOS 和 Linux。

包管理:不仅管理 Python 包,还管理其他语言的包。

环境隔离:强大的环境管理功能,可以轻松创建和切换多个环境。

科学计算:特别适合科学计算和数据科学项目,因为许多科学计算库都有预编译的包。

缺点:

体积较大:安装 conda 本身需要较大的磁盘空间。

速度较慢:相比于 pipconda 的安装速度可能较慢。

社区生态:虽然 conda 的生态系统在不断壮大,但某些最新的 Python 包可能没有及时更新到 conda-forge 仓库中。

3. pipenv

优点:

依赖锁定:通过 Pipfile 和 Pipfile.lock 文件管理依赖项,确保不同环境中依赖项的一致性。

自动管理:自动管理虚拟环境,简化了环境的创建和激活过程。

集成测试:支持集成测试环境的管理。

缺点:

性能问题:在某些情况下,pipenv 的依赖解析速度可能较慢。

兼容性:某些复杂的依赖关系可能导致解析失败。

4. poetry env (Poetry)

优点:

依赖管理:强大的依赖管理功能,支持依赖锁定和版本管理。

构建工具:不仅仅是环境管理工具,还可以作为构建工具,支持打包和发布 Python 包。

自动化:支持自动化脚本,可以方便地集成到 CI/CD 流程中。

灵活性:配置文件 pyproject.toml 非常灵活,可以管理项目的各个方面。 缺点:

学习曲线:相对于 venv 和 pipenvpoetry 的学习曲线可能稍陡。

社区支持:尽管 poetry 的社区正在快速增长,但在某些方面可能还不如 conda 和 pip 成熟。

总结

venv:适合简单的项目和快速原型开发,因为它轻量且易于使用。

conda:适合科学计算和数据科学项目,特别是那些需要跨语言包管理的项目。

pipenv:适合需要严格依赖管理和多环境支持的项目。

poetry:适合大型项目和需要高级依赖管理和构建工具的项目。

Venv 环境非常好用,原因是他将项目所需要的包就放在编辑文件下,且没有其他无关的包,这样就非常好控制。项目也不会特别庞大。

如何在 cmd 中激活. venv

指向 到所在目录

切换到同一驱动器上的另一个目录

cd D:\BaiduSyncdisk\pythonprograms\data_analytics

切换到不同驱动器上的目录

D:cd \BaiduSyncdisk\pythonprograms\data_analytics

激活 venv 环境

.\.venv\Scripts\Activate

项目搭建好后,不用启动 pycharm 等 ide,激活 venv 环境,就可以在命令提示符中运行了。

image.png

image.png

BY

纯个人经验,如有帮助,请收藏点赞,如需转载,请注明出处。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/187862.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1