许多现代软件都依赖于python语言,因此它们安装了自己的python版本,其中包含每个特定软件正常工作所需的库。
就我而言,我有自己的python,我故意使用anaconda发行版下载,但我也有随ArcGIS, QGIS和其他工具一起提供的python。
当我从命令行访问它们时,我很难区分我正在更新或添加哪些python库,这些不是环境,而是完整的python包。
解决这个问题的最好方法是什么?是否有一种方法可以强制新软件在一个中央python发行版中创建新环境,而不是丢失我计算机中现有的所有副本?
- 请注意,我知道QGIS现在可以通过conda下载,这减少了我的问题的大小,但并没有完全解决它。而且,这个版本的QGIS也有它自己的问题。
非常感谢。
正如Nukala所建议的,这正是虚拟环境的作用。它包含一个特定版本的python解释器和一组可供单个(有时是多个)项目使用的库。如果您使用IDE:s,如Pycharm,它会自动为您处理venvs。
您可以使用pyenv
来管理系统中的python版本。使用pyenv,您可以轻松地在多个版本之间切换。
正如建议的那样,每个项目都可以创建一个虚拟环境。这里有多个选项-venv
,virtualenv
,virtualenvwrapper
,pipenv
,poetry
…等。