序言
最近使用python发现会有使用不同项目时需要的三方包依赖版本不同,如果各个项目相互切换,那么会经常需要更新版本。比如numpy
当前版本时1.26.2
,需要它小于版本1.21
,有没有像Java一样通过Maven依赖管理中的版本控制去管理这些三方包的版本呢?
使用conda list numpy
可以查看其版本,
查阅了一些资料,可以采用创建虚拟环境的方式进行处理,即各个项目使用各自独立的虚拟环境。
管理虚拟环境
比如想为screenshot to code项目创建独立的虚拟环境,使用下列命令,
conda create -n screenshotToCode python=3.9.17
如果创建过程中失败了,报错如下,
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
我们可以使用conda clean -all
清除conda本地缓存,执行成功后如下,
接着会需要下载一些包,
使用conda env list
命令可以查看当前所有的虚拟环境,
使用conda activate screenshotToCode
命令激活刚刚创建的虚拟环境,
使用conda deactivate
命令可以退出虚拟环境,
使用conda remove --name test --all
命令删除已有的虚拟环境test,
其他命令,
# 列出系统的虚拟环境
conda info -e
conda env list
# 查看当前环境已安装的包
conda list
# 查看某个指定环境的已安装包
conda list -n {venv_name}
# 查看package信息
conda search numpy
# 安装package
conda install -n venv numpy
# 更新package
conda update -n venv numpy
# 删除package
conda remove -n venv numpy
提升下载速度
由于没有翻墙,系统默认镜像源是在国外https://pypi.org/simple
,所以下载速度非常之慢。
国内镜像在前面的文章中也提到过,主要有下面几个:
- 清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/
- 豆瓣(douban): https://pypi.douban.com/simple/
- 阿里云: https://mirrors.aliyun.com/pypi/simple/
- 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
使用下面命令可以修改镜像源为清华大学,以后就都从国内的清华大学服务器上下载三方包了,但愿不会由于人数过多压垮清华大学的服务器。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple