你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。
如果我的分享对你有帮助,请关注我,一起向上进击。
创作不易,希望大家给一点鼓励,把公众号设置为“星标”,给文章点个“赞”和“在看”,谢谢大家啦~
在Python开发中,有人可能倾向于直接将库或包安装到系统全局的Python环境中,但实际上这种做法可能导致一系列意料之外的问题,让人不胜其烦。
为了避免这些潜在的困扰,建议将库或包安装到虚拟环境中,并通过在rc文件中设置环境变量来强制要求 pip 使用虚拟环境。
全局安装的潜在问题
版本冲突:
全局安装库或包可能导致不同项目对于同一库的不同版本需求无法满足。不同的项目可能依赖于同一个库的不同版本,而全局安装无法提供足够的隔离性,从而造成版本冲突。
权限问题
在一些系统上,全局安装可能需要管理员权限。这可能导致一些开发者在进行库或包的安装时需要频繁请求管理员权限,不仅繁琐而且潜在的安全隐患。
无法回滚
全局安装一旦完成,要回滚到先前的版本或卸载某个库变得相对困难。虚拟环境可以提供一个相对独立的开发环境,便于管理和维护。
为何选择使用虚拟环境
隔离性
虚拟环境提供了一个独立的开发环境,使得每个项目都可以有自己的依赖关系,而不受其他项目的影响。这样可以避免因全局安装导致的版本冲突问题。
便捷管理
在虚拟环境中安装和管理库或包更加便捷。通过激活虚拟环境,可以确保当前项目中的Python解释器仅使用虚拟环境中的依赖,而不是全局环境中的。
版本控制
虚拟环境可以轻松实现版本控制,通过使用requirements.txt文件记录项目的依赖关系,确保项目在不同环境中的一致性。
使用环境变量强制要求
通过在rc文件中设置如下环境变量,可以强制要求使用虚拟环境进行库或包的安装:
# ~/.zshrc
export PIP_REQUIRE_VIRTUALENV=true
这样,使用 pip 安装时会强制要求必须已激活某个虚拟环境:
❯ pip install ruff
ERROR: Could not find an activated virtualenv (required).
这种设置强迫开发者养成在虚拟环境中进行安装的好习惯,从而有效地避免了全局安装可能带来的问题。
结论
在Python开发中,合理而有效地管理库或包对于项目的稳定性和可维护性至关重要。
通过将库或包安装到虚拟环境中,并通过设置环境变量强制要求使用虚拟环境,开发者可以避免全局安装可能带来的意料之外和头疼的问题,确保项目的依赖关系得到良好的隔离和管理。
- EOF -
文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~
推荐阅读 点击标题可跳转
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版
👇关注我的公众号👇
告诉你更多细节干货
欢迎围观我的朋友圈
👆每天更新所想所悟