[开发笔记】python 开发环境相关实践
[开发笔记] python 开发环境相关实践
python 版本控制
Python 由于版本较多而且不同大版本兼容性差,所以在一个系统中存在多个 Python 版本是很常见的。但是一旦 Python 版本变多后,相应的包管理也变得错综复杂,很容易忘记哪个版本有那些包,哪本版本是用来开发什么项目的。
解决这一问题的较佳实践是使用 Conda 来管理。Conda 有两种版本,一个是 Anaconda ,面向科学计算并包含了一些相关的包,而另一个是 MiniConda,是 slim 版,主要包含 Conda。
Conda 以环境 environment 来分隔不同的 Python,各个环境相互独立。默认环境为 Base。
如果想要添加一个新的 Python 版本,那么就可以使用如下命令:
conda create -n new_env_name python=x.x (x.x 为 python 版本)
执行命令后,即创建了一个新的虚拟环境。
可通过命令:
conda activate env_name
来切换不同的环境。不同的环境对应这不同版本的 Python 及安装在这个版本上的包。(此时执行 Python 命令都是使用该环境下的 Python 版本,以及相关包)
命令:
conda deactivate
用来撤销当前环境。(此时 Python 版本回到系统默认,你会发现你终端前的一个小括号(base)消失)
Python 包管理
不同的安装工具和方式安装 Python 的包的结果不同。我常使用的有两种。
第一种是在不同的 Conda 环境下使用 pip 进行安装,此时该包就会安装到当前环境的 Python 版本中。注意,该包对于其他环境中的 Python 不可见。这种安装的好处是方便。但是安装结构相对松散,不是很容易管理。
第二种是对于开源项目,使用源码安装。源码安装的好处是项目易于管理,存放位置和项目资源相对集中。但是安装过程可能稍微会繁琐一些,如果涉及到与其他工具的协作或者依赖,需要手动处理。比如 pyltp 依赖 LTP,源码安装时需要手动将编译好的 LTP 复制到 pyltp 的 ltp 目录下,而第一种安装方式则不需要如此。还有一点就是,为了时 Python 能够 import 到新安装的包,需要将新安装的包的路径(用户自己选择的)加入到 Python 的 sys.path 中。加入方式有多种,我个人倾向于使用 .pth 文件方式。
详细可以参考:https://blog.csdn.net/zhongbeida_xue/article/details/86649896