安装python包时,如果指定包的版本,为什么用到的是两个等号,而不是一个等号?

用anaconda创建虚拟环境时,会用到conda create -n env-name python=3.6,其中-n是什么意思,如果是参数的话,为什么不是–n,还有就是为什么python=3.6是一个等于号,而在安装包时,比如pip install pymysql==0.7时,用到的是两个等于号。

Anaconda中的命令有两种参数类型,一种是简写,比如题主说到的 -n,还有一种是全称 –name,即-n对应的全称。

pip的==是版本匹配运算符,是PEP 440定义的,见这个文档:PEP 440 – 版本标识和依赖性规范

至于conda的create指定版本的时候用Python = 3.5而不是Python == 3.5,个人猜测是第一个包含“模糊”版本,而第二个包含精确版本。模糊版本将匹配版本> = 3.5和<3.6中的Python包。而==将匹配Python包如3.5,3.5.0,3.5.0.0等这样的精确版本。确实没必要细化到那么细的版本号。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注